File | Statements | Executed | Coverage | |
---|---|---|---|---|
Total | 2021 | 1540 | 76 % |
|
../src/Crumb.js | 43 | 43 | 100 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u9762\u5305\u5C51\u5BFC\u822A\u63A7\u4EF6'],[-1,' * @author otakustay'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[2,' var lib = require(\'.\/lib\');'],[2,' var helper = require(\'.\/controlHelper\');'],[2,' var Control = require(\'.\/Control\');'],[-1,''],[-1,' \/\/ css'],[2,' require(\'css!.\/css\/Crumb.css\');'],[-1,' \/**'],[-1,' * \u9762\u5305\u5C51\u5BFC\u822A\u63A7\u4EF6'],[-1,' *'],[-1,' * @constructor'],[-1,' *\/'],[1,' function Crumb() {'],[11,' Control.apply(this, arguments);'],[-1,' }'],[-1,''],[1,' Crumb.prototype.type = \'Crumb\';'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u63A7\u4EF6\u4E3B\u5143\u7D20'],[-1,' *'],[-1,' * @return {HTMLElement}'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' Crumb.prototype.createMain = function () {'],[11,' return document.createElement(\'nav\');'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316\u53C2\u6570'],[-1,' *'],[-1,' * @param {Object=} options \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u53C2\u6570'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' Crumb.prototype.initOptions = function (options) {'],[11,' var properties = {'],[-1,' path: [],'],[-1,' separator: \'>\''],[-1,' };'],[11,' lib.extend(properties, options);'],[11,' this.setProperties(properties);'],[-1,' };'],[-1,''],[-1,''],[-1,' \/**'],[-1,' * \u65E0\u94FE\u63A5\u7684\u6587\u5B57\u8282\u70B9\u7684\u5185\u5BB9HTML\u6A21\u677F'],[-1,' *'],[-1,' * @type {string}'],[-1,' * @public'],[-1,' *\/'],[1,' Crumb.prototype.textNodeTemplate = \'<span>${text}<\/span>\';'],[-1,''],[-1,' \/**'],[-1,' * \u94FE\u63A5\u8282\u70B9\u7684\u5185\u5BB9HTML\u6A21\u677F'],[-1,' *'],[-1,' * @type {string}'],[-1,' * @public'],[-1,' *\/'],[1,' Crumb.prototype.linkNodeTemplate = \'<a href=\"${href}\">${text}<\/a>\';'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u8282\u70B9\u7684HTML\u5185\u5BB9'],[-1,' *'],[-1,' * @param {Object} node \u8282\u70B9\u6570\u636E\u9879'],[-1,' * @param {string=} node.href \u94FE\u63A5\u5730\u5740'],[-1,' * @param {string} node.text \u663E\u793A\u6587\u5B57'],[-1,' * @return {string}'],[-1,' * @public'],[-1,' *\/'],[1,' Crumb.prototype.getNodeHTML = function (node) {'],[10,' var template = node.href'],[-1,' ? this.linkNodeTemplate'],[-1,' : this.textNodeTemplate;'],[10,' var data = {'],[-1,' href: lib.encodeHTML(node.href),'],[-1,' text: lib.encodeHTML(node.text)'],[-1,' };'],[10,' return lib.format(template, data);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u5BFC\u822AHTML'],[-1,' *'],[-1,' * @param {Crumb} crumb \u9762\u5305\u5C51\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {Array} path \u8DEF\u5F84'],[-1,' * @return {string}'],[-1,' *'],[-1,' * @inner'],[-1,' *\/'],[1,' function getHTML(crumb, path) {'],[10,' var html = \'<ol>\';'],[-1,''],[10,' var separatorClasses ='],[-1,' helper.getPartClasses(crumb, \'separator\').join(\' \');'],[10,' var separator = lib.format('],[-1,' \'<li class=\"${classes}\">${text}<\/li>\','],[-1,' {'],[-1,' classes: separatorClasses, '],[-1,' text: lib.encodeHTML(crumb.separator)'],[-1,' }'],[-1,' );'],[-1,''],[10,' for (var i = 0; i < path.length; i++) {'],[10,' var node = path[i];'],[-1,''],[10,' var classes = helper.getPartClasses(crumb, \'node\');'],[10,' if (i === 0) {'],[7,' classes = classes.concat('],[-1,' helper.getPartClasses(crumb, \'node-first\')'],[-1,' );'],[-1,' }'],[10,' if (i === path.length - 1) {'],[7,' classes = classes.concat('],[-1,' helper.getPartClasses(crumb, \'node-last\')'],[-1,' );'],[7,' separator = \'\';'],[-1,' }'],[-1,''],[10,' html += \'<li class=\"\' + classes + \'\">\';'],[10,' html += crumb.getNodeHTML(node);'],[10,' html += \'<\/li>\';'],[10,' html += separator;'],[-1,' }'],[-1,''],[10,' html += \'<\/ol>\';'],[-1,''],[10,' return html;'],[-1,' }'],[-1,''],[1,' var paint = require(\'.\/painters\');'],[-1,''],[-1,' \/**'],[-1,' * \u6E32\u67D3\u81EA\u8EAB'],[-1,' *'],[-1,' * @param {Array=} \u53D8\u66F4\u8FC7\u7684\u5C5E\u6027\u7684\u96C6\u5408'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' Crumb.prototype.repaint = helper.createRepaint('],[-1,' Control.prototype.repaint,'],[-1,' paint.html(\'path\', null, getHTML)'],[-1,' );'],[-1,''],[1,' require(\'.\/main\').register(Crumb);'],[1,' lib.inherits(Crumb, Control);'],[-1,''],[1,' return Crumb;'],[-1,' }'],[-1,');']] |
||||
../src/Label.js | 37 | 37 | 100 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file Label\u63A7\u4EF6'],[-1,' * @author erik, otakustay'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[1,' var lib = require(\'.\/lib\');'],[1,' var Control = require(\'.\/Control\');'],[-1,''],[-1,' \/**'],[-1,' * Label\u63A7\u4EF6'],[-1,' *'],[-1,' * @param {Object=} options \u521D\u59CB\u5316\u53C2\u6570'],[-1,' * @constructor'],[-1,' *\/'],[1,' function Label(options) {'],[8,' Control.apply(this, arguments);'],[-1,' }'],[-1,''],[1,' Label.prototype.type = \'Label\';'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u63A7\u4EF6\u4E3B\u5143\u7D20'],[-1,' *'],[-1,' * @param {Object} \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u53C2\u6570'],[-1,' * @return {HTMLElement}'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' Label.prototype.createMain = function (options) {'],[5,' return document.createElement(options.tagName || \'span\');'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316\u53C2\u6570'],[-1,' *'],[-1,' * @param {Object=} options \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u53C2\u6570'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' Label.prototype.initOptions = function (options) {'],[8,' var properties = {};'],[8,' lib.extend(properties, options);'],[8,' properties.tagName = this.main.nodeName.toLowerCase();'],[8,' if (options.text == null) {'],[8,' properties.text = lib.getText(this.main);'],[-1,' }'],[8,' lib.extend(this, properties);'],[-1,' };'],[-1,''],[1,' var allProperties = ['],[-1,' { name: \'title\' }, '],[-1,' { name: \'text\' }'],[-1,' ];'],[-1,''],[-1,' \/**'],[-1,' * \u6E32\u67D3\u81EA\u8EAB'],[-1,' *'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' Label.prototype.repaint = function (changes) {'],[11,' changes = changes || allProperties;'],[-1,''],[11,' var shouldRepaint = false;'],[11,' for (var i = 0; i < changes.length; i++) {'],[19,' var record = changes[i];'],[-1,''],[19,' if (record.name === \'title\') {'],[9,' this.main.title = lib.encodeHTML(this.title);'],[-1,' }'],[-1,' else {'],[10,' shouldRepaint = true;'],[-1,' }'],[-1,' }'],[-1,''],[11,' if (shouldRepaint) {'],[10,' this.main.innerHTML = lib.encodeHTML(this.text);'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u6587\u672C'],[-1,' *'],[-1,' * @param {string} text \u6587\u672C\u5185\u5BB9'],[-1,' *\/'],[1,' Label.prototype.setText = function (text) {'],[2,' this.setProperties({ text: text });'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u6587\u672C'],[-1,' *'],[-1,' * @return {string}'],[-1,' *\/'],[1,' Label.prototype.getText = function () {'],[3,' return this.text;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6Etitle'],[-1,' *'],[-1,' * @param {string} title \u9700\u8981\u8BBE\u7F6E\u7684\u503C'],[-1,' * @public'],[-1,' *\/'],[1,' Label.prototype.setTitle = function (title) {'],[1,' this.setProperties({ title: title });'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6title'],[-1,' *'],[-1,' * @return {string}'],[-1,' * @public'],[-1,' *\/'],[1,' Label.prototype.getTitle = function () {'],[1,' return this.title;'],[-1,' };'],[-1,''],[1,' lib.inherits(Label, Control);'],[1,' require(\'.\/main\').register(Label);'],[1,' return Label;'],[-1,' }'],[-1,');']] |
||||
../src/Panel.js | 25 | 25 | 100 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file Panel\u63A7\u4EF6'],[-1,' * @author otakustay'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[1,' var lib = require(\'.\/lib\');'],[1,' var helper = require(\'.\/controlHelper\');'],[1,' var Control = require(\'.\/Control\');'],[-1,''],[-1,' \/**'],[-1,' * Panel\u63A7\u4EF6'],[-1,' *'],[-1,' * @constructor'],[-1,' *\/'],[1,' function Panel() {'],[12,' Control.apply(this, arguments);'],[-1,' }'],[-1,''],[1,' Panel.prototype.type = \'Panel\';'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u63A7\u4EF6\u4E3B\u5143\u7D20'],[-1,' *'],[-1,' * @param {Object} \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u53C2\u6570'],[-1,' * @return {HTMLElement}'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' Panel.prototype.createMain = function (options) {'],[3,' return document.createElement(options.tagName || \'div\');'],[-1,' };'],[-1,''],[1,' Panel.prototype.initOptions = function (options) {'],[12,' var properties = {};'],[12,' lib.extend(properties, options);'],[12,' properties.tagName = this.main.nodeName.toLowerCase();'],[12,' if (options.content == null) {'],[12,' properties.content = this.main.innerHTML;'],[-1,' }'],[12,' lib.extend(this, properties);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6E32\u67D3\u81EA\u8EAB'],[-1,' *'],[-1,' * @param {Array=} \u53D8\u66F4\u8FC7\u7684\u5C5E\u6027\u7684\u96C6\u5408'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' Panel.prototype.repaint = helper.createRepaint('],[-1,' Control.prototype.repaint,'],[-1,' {'],[-1,' name: \'content\','],[-1,' paint: function (control, value) {'],[7,' control.disposeChildren();'],[7,' control.main.innerHTML = value;'],[7,' control.initChildren(control.main);'],[-1,' }'],[-1,' }'],[-1,' );'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u5185\u5BB9'],[-1,' *'],[-1,' * @param {string} html \u5185\u5BB9HTML'],[-1,' *\/'],[1,' Panel.prototype.setContent = function (html) {'],[1,' this.setProperties({ content: html });'],[-1,' };'],[-1,''],[1,' lib.inherits(Panel, Control);'],[1,' require(\'.\/main\').register(Panel);'],[1,' return Panel;'],[-1,' }'],[-1,');']] |
||||
../src/Wizard.js | 105 | 105 | 100 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u591A\u6B65\u9AA4\u5BFC\u822A\u63A7\u4EF6'],[-1,' * @author otakustay'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[2,' var lib = require(\'.\/lib\');'],[2,' var helper = require(\'.\/controlHelper\');'],[2,' var Control = require(\'.\/Control\');'],[-1,' \/\/ css'],[2,' require(\'css!.\/css\/Wizard.css\');'],[-1,''],[-1,' \/**'],[-1,' * \u591A\u6B65\u9AA4\u5BFC\u822A\u63A7\u4EF6'],[-1,' *'],[-1,' * @constructor'],[-1,' *\/'],[1,' function Wizard() {'],[31,' Control.apply(this, arguments);'],[-1,' }'],[-1,''],[1,' Wizard.prototype.type = \'Wizard\';'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u63A7\u4EF6\u4E3B\u5143\u7D20'],[-1,' *'],[-1,' * @return {HTMLElement}'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' Wizard.prototype.createMain = function () {'],[30,' return document.createElement(\'ol\');'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316\u53C2\u6570'],[-1,' *'],[-1,' * @param {Object=} options \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u53C2\u6570'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' Wizard.prototype.initOptions = function (options) {'],[31,' var properties = {'],[-1,' steps: [],'],[-1,' activeIndex: 0'],[-1,' };'],[-1,''],[31,' var children = lib.getChildren(this.main);'],[31,' if (!options.path && children.length) {'],[1,' for (var i = 0; i < children.length; i++) {'],[3,' var node = children[i];'],[3,' var config = { text: lib.getText(node) };'],[3,' var panel = node.getAttribute(\'data-for\');'],[3,' if (panel) {'],[2,' config.panel = panel;'],[-1,' }'],[3,' properties.steps.push(config);'],[-1,' }'],[-1,' }'],[-1,''],[31,' lib.extend(properties, options);'],[31,' this.setProperties(properties);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u63A7\u5236\u5BF9\u5E94\u9762\u677F\u7684\u663E\u793A\u6216\u9690\u85CF'],[-1,' *'],[-1,' * @param {Wizard} wizard \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {Object} config \u5BF9\u5E94\u7684\u6B65\u9AA4\u914D\u7F6E\u9879'],[-1,' * @param {boolean} isActive \u662F\u5426\u5904\u4E8E\u6FC0\u6D3B\u72B6\u6001'],[-1,' *\/'],[1,' function togglePanel(wizard, config, isActive) {'],[82,' var panel = config && config.panel && lib.g(config.panel);'],[-1,''],[82,' if (!panel) {'],[76,' return;'],[-1,' }'],[-1,''],[6,' var method = isActive ? \'removePartClasses\' : \'addPartClasses\';'],[6,' helper[method](wizard, \'panel-hidden\', panel);'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u8282\u70B9\u5185\u5BB9\u7684HTML\u6A21\u677F'],[-1,' *'],[-1,' * @type {string}'],[-1,' * @public'],[-1,' *\/'],[1,' Wizard.prototype.nodeTemplate = \'<span>${text}<\/span>\';'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u8282\u70B9\u5185\u5BB9HTML'],[-1,' *'],[-1,' * @param {Object} node \u8282\u70B9\u6570\u636E\u9879'],[-1,' * @param {string} node.text \u663E\u793A\u7684\u6587\u5B57'],[-1,' * @return {string}'],[-1,' * @public'],[-1,' *\/'],[1,' Wizard.prototype.getNodeHTML = function (node) {'],[67,' return lib.format('],[-1,' this.nodeTemplate,'],[-1,' {'],[-1,' text: lib.encodeHTML(node.text)'],[-1,' }'],[-1,' );'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u5BFC\u822AHTML'],[-1,' *'],[-1,' * @param {Wizard} Wizard \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @return {string}'],[-1,' *'],[-1,' * @inner'],[-1,' *\/'],[1,' function getHTML(wizard) {'],[23,' var html = \'\';'],[-1,''],[23,' for (var i = 0; i < wizard.steps.length; i++) {'],[67,' var node = wizard.steps[i];'],[-1,''],[67,' var classes = helper.getPartClasses(wizard, \'node\');'],[67,' if (i === 0) {'],[23,' classes = classes.concat('],[-1,' helper.getPartClasses(wizard, \'node-first\')'],[-1,' );'],[-1,' }'],[67,' if (i === wizard.steps.length - 1 && !wizard.finishText) {'],[20,' classes = classes.concat('],[-1,' helper.getPartClasses(wizard, \'node-last\')'],[-1,' );'],[-1,' }'],[-1,''],[-1,' \/\/ \u5F53\u524D\u6B65\u4E4B\u524D\u7684\u4E00\u6B65'],[67,' if (i === (wizard.activeIndex - 1)) {'],[3,' classes = classes.concat('],[-1,' helper.getPartClasses(wizard, \'node-active-prev\')'],[-1,' );'],[-1,' }'],[67,' if (i <= (wizard.activeIndex - 1)) {'],[5,' classes = classes.concat('],[-1,' helper.getPartClasses(wizard, \'node-done\')'],[-1,' );'],[-1,' }'],[-1,''],[67,' var isActive = i === wizard.activeIndex;'],[67,' togglePanel(wizard, node, isActive);'],[67,' if (isActive) {'],[23,' classes = classes.concat('],[-1,' helper.getPartClasses(wizard, \'node-active\')'],[-1,' );'],[23,' if (i === wizard.steps.length - 1) {'],[2,' classes = classes.concat('],[-1,' helper.getPartClasses(wizard, \'node-last-active\')'],[-1,' );'],[-1,' }'],[-1,' }'],[-1,''],[67,' html += \'<li class=\"\' + classes.join(\' \') + \'\">\';'],[67,' html += wizard.getNodeHTML(node);'],[67,' html += \'<\/li>\';'],[-1,' }'],[-1,''],[23,' if (wizard.finishText) {'],[3,' var classes = [].concat('],[-1,' helper.getPartClasses(wizard, \'node\'),'],[-1,' helper.getPartClasses(wizard, \'node-last\'),'],[-1,' helper.getPartClasses(wizard, \'node-finish\'),'],[-1,' wizard.activeIndex === wizard.steps.length'],[-1,' ? helper.getPartClasses(wizard, \'node-active\')'],[-1,' : []'],[-1,' );'],[3,' html += \'<li class=\"\' + classes.join(\' \') + \'\">\';'],[3,' html += \'<span>\' + wizard.finishText + \'<\/span>\';'],[3,' html += \'<\/li>\';'],[-1,' }'],[-1,''],[23,' return html;'],[-1,' }'],[-1,''],[1,' var paint = require(\'.\/painters\');'],[1,' var repaint = helper.createRepaint('],[-1,' Control.prototype.repaint,'],[-1,' paint.html(\'steps\', null, getHTML),'],[-1,' paint.html(\'finishText\', null, getHTML),'],[-1,' {'],[-1,' name: \'activeIndex\','],[-1,' paint: function (wizard, value) {'],[5,' var nodes = wizard.main.getElementsByTagName(\'li\');'],[5,' for (var i = nodes.length - 1; i >= 0; i--) {'],[15,' var isActive = i === wizard.activeIndex;'],[15,' togglePanel(wizard, wizard.steps[i], isActive);'],[-1,''],[15,' var node = nodes[i];'],[15,' var method = isActive'],[-1,' ? \'addPartClasses\''],[-1,' : \'removePartClasses\';'],[15,' helper[method](wizard, \'node-active\', node);'],[-1,''],[15,' if (i === wizard.steps.length - 1) {'],[5,' helper[method](wizard, \'node-last-active\', node);'],[-1,' }'],[-1,''],[15,' var isDone = i <= (wizard.activeIndex - 1);'],[15,' var method = isDone'],[-1,' ? \'addPartClasses\''],[-1,' : \'removePartClasses\';'],[15,' helper[method](wizard, \'node-done\', node);'],[-1,''],[15,' var isCurPrev = i === (wizard.activeIndex - 1);'],[15,' var method = isCurPrev'],[-1,' ? \'addPartClasses\''],[-1,' : \'removePartClasses\';'],[15,' helper[method](wizard, \'node-active-prev\', node);'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,' );'],[-1,''],[-1,' \/**'],[-1,' * \u6E32\u67D3\u81EA\u8EAB'],[-1,' *'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' Wizard.prototype.repaint = function (changes) {'],[-1,' \/\/ \u7B2C\u4E00\u6B21\u6E32\u67D3\u7684\u65F6\u5019\u540C\u65F6\u6709`steps`\u548C`activeIndex`\u5C5E\u6027\uFF0C'],[-1,' \/\/ \u8FD9\u4F1A\u5BFC\u81F4\u8FDE\u7EED\u6267\u884C2\u4E2A`painter`\uFF0C\u56E0\u6B64\u8981\u7279\u522B\u5904\u7406\u6539\u6210\u4E00\u6B21'],[28,' if (!changes) {'],[20,' this.main.innerHTML = getHTML(this);'],[-1,' }'],[-1,' else {'],[8,' repaint.apply(this, arguments);'],[-1,' }'],[-1,' };'],[-1,''],[1,' Wizard.prototype.setProperties = function (properties) {'],[45,' if (properties.hasOwnProperty(\'steps\')) {'],[-1,' \/\/ \u5982\u679C\u540C\u65F6\u6709`activeIndex`\u548C`steps`\uFF0C'],[-1,' \/\/ \u5219`activeIndex`\u53EF\u4EE5\u53EA\u8D4B\u5728\u5B9E\u4F8B\u4E0A\u4E0D\u4E22\u8FDB\u66F4\u65B0\u5217\u8868\uFF0C'],[-1,' \/\/ \u56E0\u4E3A`getHTML`\u662F\u4F1A\u5904\u7406\u8FD9\u4E8B\u7684'],[35,' if (properties.hasOwnProperty(\'activeIndex\')) {'],[31,' this.activeIndex = properties.activeIndex;'],[31,' delete properties.activeIndex;'],[-1,' }'],[-1,' \/\/ \u5982\u679C\u6CA1\u7ED9`activeIndex`\uFF0C\u5219\u56DE\u5230\u6700\u521D\u90A3\u4E00\u6B65'],[-1,' else {'],[4,' this.activeIndex = 0;'],[-1,' }'],[-1,''],[-1,' \/\/ \u5982\u679C\u540C\u65F6\u6709`steps`\u548C`finishText`\uFF0C\u7531\u4E8E\u8FD9\u4E24\u4E2A\u90FD\u4F1A\u5F15\u53D1\u5168\u5237\u65B0\uFF0C'],[-1,' \/\/ \u56E0\u6B64\u53EA\u8981\u4FDD\u7559\u4E00\u4E2A\u5C31\u884C\u4E86'],[35,' if (properties.hasOwnProperty(\'finishText\')) {'],[3,' this.finishText = properties.finishText;'],[3,' delete properties.finishText;'],[-1,' }'],[-1,' }'],[-1,''],[45,' var changes = '],[-1,' Control.prototype.setProperties.apply(this, arguments);'],[45,' if (changes.hasOwnProperty(\'steps\')'],[-1,' || changes.hasOwnProperty(\'activeIndex\')'],[-1,' ) {'],[42,' this.fire(\'enter\');'],[-1,' }'],[-1,' };'],[-1,''],[1,' Wizard.prototype.getActiveStep = function () {'],[1,' return this.steps[this.activeIndex];'],[-1,' };'],[-1,''],[1,' Wizard.prototype.stepNext = function () {'],[5,' var maxStep = this.finishText '],[-1,' ? this.steps.length '],[-1,' : this.steps.length - 1;'],[5,' if (this.activeIndex < maxStep) {'],[3,' this.set(\'activeIndex\', this.activeIndex + 1);'],[-1,' }'],[-1,' };'],[-1,''],[1,' Wizard.prototype.stepPrevious = function () {'],[4,' if (this.activeIndex > 0) {'],[2,' this.set(\'activeIndex\',this.activeIndex - 1);'],[-1,' }'],[-1,' };'],[-1,''],[1,' require(\'.\/main\').register(Wizard);'],[1,' lib.inherits(Wizard, Control);'],[-1,''],[1,' return Wizard;'],[-1,' }'],[-1,');']] |
||||
../src/extension/CustomData.js | 26 | 26 | 100 % |
|
[[1,'define('],[-1,' function (require) {'],[2,' var Extension = require(\'..\/Extension\');'],[-1,''],[-1,' \/**'],[-1,' * \u4F9B\u63A7\u4EF6\u58F0\u660E\u548C\u83B7\u53D6\u81EA\u5B9A\u4E49\u6570\u636E\u7684\u6269\u5C55'],[-1,' *'],[-1,' * \u8BE5\u6269\u5C55\u4F1A\u6536\u96C6\u63A7\u4EF6\u4E0A\u4EE5**data**\u5F00\u5934\u4E14\u540E\u9762\u8DDF\u5927\u5199\u5B57\u7B26\u6216\u6570\u5B57\u7684\u5C5E\u6027\uFF0C'],[-1,' * \u5E76\u4E3A\u63A7\u4EF6\u52A0\u4E0A`getData`\u548C`setData`\u6765\u8BFB\u5199\u6570\u636E'],[-1,' * '],[-1,' * \u4F7F\u7528\u8BE5\u6269\u5C55\u540E\uFF0C\u53EF\u5728HTML\u4E2D\u58F0\u660E\u4E00\u4E9B\u81EA\u5B9A\u4E49\u5C5E\u6027\uFF0C'],[-1,' * \u5E76\u5728\u540E\u7EED\u901A\u8FC7javascript\u4ECE\u63A7\u4EF6\u7684\u5B9E\u4F8B\u4E0A\u83B7\u53D6'],[-1,' *'],[-1,' * @example'],[-1,' * <div data-ui-type=\"Button\" '],[-1,' * data-ui-id=\"submitButton\"'],[-1,' * data-ui-data-auth=\"admin\"'],[-1,' * data-ui-extension-data=\"type: CustomData;\">\u63D0\u4EA4<\/div>'],[-1,' * <script>'],[-1,' * var esui = require(\'esui\');'],[-1,' * esui.init(document.body);'],[-1,' * var button = esui.get(\'submitButton\');'],[-1,' * if (button.getData(\'auth\') !== currentUser.role) {'],[-1,' * button.hide();'],[-1,' * }'],[-1,' * <\/script>'],[-1,' *'],[-1,' * @constructor'],[-1,' *\/'],[1,' function CustomData() {'],[7,' Extension.apply(this, arguments);'],[-1,' }'],[-1,''],[1,' CustomData.prototype.type = \'CustomData\';'],[-1,''],[1,' var dataProperty = \/^data[A-Z0-9]\/;'],[-1,''],[-1,' \/**'],[-1,' * \u6FC0\u6D3B\u6269\u5C55'],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' CustomData.prototype.activate = function () {'],[7,' Extension.prototype.activate.apply(this, arguments);'],[7,' var data = this.target.data;'],[7,' if (typeof data !== \'object\') {'],[6,' data = require(\'..\/main\').parseAttribute(this.target.data);'],[-1,' }'],[7,' for (var key in this.target) {'],[3,' if (this.target.hasOwnProperty(key) && dataProperty.test(key)) {'],[1,' var dataKey = key.charAt(4).toLowerCase() + key.slice(5);'],[1,' data[dataKey] = this.target[key];'],[-1,' }'],[-1,' }'],[-1,''],[7,' this.target.getData = function (key) {'],[7,' return data[key];'],[-1,' };'],[-1,''],[7,' this.target.setData = function (key, value) {'],[2,' data[key] = value;'],[-1,' };'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u53D6\u6D88\u6269\u5C55\u7684\u6FC0\u6D3B\u72B6\u6001'],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' CustomData.prototype.inactivate = function () {'],[2,' Extension.prototype.inactivate.apply(this, arguments);'],[-1,''],[2,' delete this.target.getData;'],[2,' delete this.target.setData;'],[-1,' };'],[-1,''],[1,' require(\'..\/lib\').inherits(CustomData, Extension);'],[1,' require(\'..\/main\').registerExtension(CustomData);'],[-1,''],[1,' return CustomData;'],[-1,' }'],[-1,');']] |
||||
../src/Tab.js | 162 | 157 | 96 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u6807\u7B7E\u9875\u63A7\u4EF6'],[-1,' * @author otakustay'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[1,' var lib = require(\'.\/lib\');'],[1,' var helper = require(\'.\/controlHelper\');'],[1,' var Control = require(\'.\/Control\');'],[-1,''],[-1,' \/**'],[-1,' * \u6807\u7B7E\u9875\u63A7\u4EF6'],[-1,' *'],[-1,' * @param {Object=} options \u6784\u9020\u63A7\u4EF6\u7684\u9009\u9879'],[-1,' * @constructor'],[-1,' *\/'],[1,' function Tab(options) {'],[53,' Control.apply(this, arguments);'],[-1,' }'],[-1,''],[1,' Tab.prototype.type = \'Tab\';'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u4E3B\u5143\u7D20'],[-1,' *'],[-1,' * @param {Object} options \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u53C2\u6570'],[-1,' * @return {HTMLElement} \u4E3B\u5143\u7D20'],[-1,' * @protected'],[-1,' *\/'],[1,' Tab.prototype.createMain = function (options) {'],[47,' return document.createElement(\'div\');'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316\u53C2\u6570'],[-1,' *'],[-1,' * @param {Object} options \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u53C2\u6570'],[-1,' * @protected'],[-1,' *\/'],[1,' Tab.prototype.initOptions = function (options) {'],[53,' var properties = {'],[-1,' tabs: [],'],[-1,' activeIndex: 0,'],[-1,' allowClose: false'],[-1,' };'],[53,' lib.extend(properties, options);'],[-1,''],[-1,' \/\/ \u5982\u679C\u5B50\u5143\u7D20\u4E2D\u6709\u4E00\u4E2A`[data-role=\"navigator\"]`\u7684\u5143\u7D20\uFF0C'],[-1,' \/\/ \u5219\u5E94\u8BE5\u4ECE\u5143\u7D20\u4E2D\u53BB\u627E\u51FA\u5BF9\u5E94\u7684\u6807\u7B7E\u9875\u914D\u7F6E\uFF0C\u7136\u540E\u8FD9\u4E2A\u5143\u7D20\u5C31\u4E0D\u8981\u4E86\uFF0C'],[-1,' \/\/ \u63A7\u4EF6\u4F1A\u81EA\u52A8\u751F\u6210\u6B63\u786E\u7684`navigator`\u683C\u5F0F\u5E76\u653E\u5728`main`\u7684\u6700\u524D\u9762'],[-1,' \/\/ '],[-1,' \/\/ \u800C\u5982\u679C\u6709\u5B50\u5143\u7D20\u4E14\u6CA1\u6709`[data-role=\"navigator\"]`\u5143\u7D20\uFF0C'],[-1,' \/\/ \u540C\u65F6\u6784\u9020\u63A7\u4EF6\u7684\u65F6\u5019\u6CA1\u7ED9`tabs`\u9009\u9879\uFF0C'],[-1,' \/\/ \u5219\u8BA4\u4E3A\u6BCF\u4E2A\u5B50\u5143\u7D20\u662F\u4E00\u4E2A\u6807\u7B7E\u9875\uFF0C\u4ECE`title`\u5C5E\u6027\u4E2D\u627E\u51FA\u5BF9\u5E94\u7684`title`'],[53,' if (this.main.children.length) {'],[6,' var tabs = [];'],[6,' for (var i = 0; i < this.main.children.length; i++) {'],[8,' var element = this.main.children[i];'],[8,' if (element.getAttribute(\'data-role\') === \'navigator\') {'],[-1,' \/\/ \u627E\u5230\u4E86`[data-role=\"navigator\"]`\u7684\u5143\u7D20\uFF0C\u629B\u5F03\u5176\u5B83\u914D\u7F6E\uFF0C'],[-1,' \/\/ \u4E14\u8FD9\u4E2A\u914D\u7F6E\u4F1A\u8986\u76D6\u7528\u6237\u4F20\u5165\u7684`tabs`\u9009\u9879'],[3,' properties.tabs = [];'],[3,' element.id = helper.getId(this, \'navigator\');'],[3,' for (var i = 0; i < element.children.length; i++) {'],[3,' var tab = element.children[i];'],[3,' var config = {'],[-1,' title: lib.getText(tab),'],[-1,' panel: tab.getAttribute(\'data-for\')'],[-1,' };'],[0,' properties.tabs.push(config);'],[-1,' }'],[0,' break;'],[-1,' }'],[-1,' else {'],[-1,' \/\/ \u666E\u901A\u5143\u7D20\u5F53\u4F5C\u662F\u4E00\u4E2A\u6807\u7B7E\u9875\uFF0C'],[-1,' \/\/ \u9047\u5230`data-role=\"navigator\"]`\u540E\u4F1A\u6E05\u7A7A\u914D\u7F6E\uFF0C'],[-1,' \/\/ \u6240\u4EE5\u4E0D\u4F1A\u5F71\u54CD\u6B63\u786E\u6027'],[3,' var config = {'],[-1,' title: element.getAttribute(\'title\'),'],[-1,' panel: element.id'],[-1,' };'],[3,' tabs.push(config);'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/\/ \u53EA\u6709\u7528\u6237\u6CA1\u7ED9`tabs`\uFF08\u9ED8\u8BA4\u4E3A\u7A7A\u6570\u7EC4\uFF09\u7684\u65F6\u5019\uFF0C\u624D\u8986\u76D6\u4E4B\uFF0C'],[-1,' \/\/ \u5982\u679C\u627E\u5230\u4E86`[data-role=\"navigator\"]`\u5143\u7D20\uFF0C'],[-1,' \/\/ \u4F1A\u76F4\u63A5\u64CD\u7EB5`properties.tabs`\uFF0C\u8FD9\u91CC\u4E0D\u4F1A\u51FA\u73B0\u7A7A\u6570\u7EC4\u7684\u60C5\u51B5'],[1,' if (!properties.tabs.length) {'],[0,' properties.tabs = tabs;'],[-1,' }'],[-1,' }'],[48,' lib.extend(this, properties);'],[-1,' };'],[-1,''],[-1,' \/*'],[-1,' * \u70B9\u51FB\u67D0\u4E2A\u6807\u7B7E\u65F6\u7684\u5207\u6362\u903B\u8F91'],[-1,' *'],[-1,' * @param {Tab} tab Tab\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {Event} e \u89E6\u53D1\u4E8B\u4EF6\u7684\u4E8B\u4EF6\u5BF9\u8C61'],[-1,' *\/'],[1,' function clickTab(tab, e) {'],[3,' var target = e.target;'],[3,' var tabElement = target;'],[3,' while (tabElement.nodeName.toLowerCase() !== \'li\') {'],[2,' tabElement = tabElement.parentNode;'],[-1,' }'],[-1,''],[3,' if (tabElement.nodeName.toLowerCase() === \'li\') {'],[3,' var parent = tabElement.parentNode;'],[3,' for (var i = 0; i < parent.children.length; i++) {'],[5,' if (parent.children[i] === tabElement) {'],[-1,' \/\/ \u5982\u679C\u70B9\u5728\u5173\u95ED\u533A\u57DF\u4E0A\uFF0C\u5219\u79FB\u9664\u8FD9\u4E2A\u5143\u7D20\uFF0C'],[-1,' \/\/ \u5176\u5B83\u60C5\u51B5\u4E3A\u6FC0\u6D3B\u8BE5\u5143\u7D20'],[3,' var className = helper.getPartClasses(tab, \'close\')[0];'],[3,' if (lib.hasClass(target, className)) {'],[2,' tab.removeAt(i);'],[-1,' }'],[-1,' else {'],[1,' tab.set(\'activeIndex\', i);'],[-1,' }'],[3,' return;'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316DOM\u7ED3\u6784'],[-1,' *'],[-1,' * @protected'],[-1,' *\/'],[1,' Tab.prototype.initStructure = function () {'],[45,' var navigator = lib.g(helper.getId(this, \'navigator\'));'],[45,' if (!navigator) {'],[45,' navigator = document.createElement(\'ul\');'],[45,' navigator.id = helper.getId(this, \'navigator\');'],[-1,''],[45,' this.main.insertBefore(navigator, this.main.firstChild || null);'],[-1,' }'],[-1,''],[45,' helper.addPartClasses(this, \'navigator\', navigator);'],[-1,''],[45,' require(\'.\/controlHelper\').addDOMEvent('],[-1,' this, navigator, \'click\', lib.bind(clickTab, null, this));'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6807\u7B7E\u9875\u5185\u5BB9\u7684\u6A21\u677F'],[-1,' *'],[-1,' * @type {string}'],[-1,' * @public'],[-1,' *\/'],[1,' Tab.prototype.contentTemplate = \'<span>${title}<\/span>\';'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u6807\u7B7E\u9875\u5185\u5BB9\u7684HTML'],[-1,' *'],[-1,' * @param {Object} config \u6807\u7B7E\u9875\u6570\u636E\u9879'],[-1,' * @param {boolean} allowClose \u662F\u5426\u5141\u8BB8\u5173\u95ED'],[-1,' * @return {string}'],[-1,' * @public'],[-1,' *\/'],[1,' Tab.prototype.getContentHTML = function (config, allowClose) {'],[142,' var html = lib.format('],[-1,' this.contentTemplate,'],[-1,' {'],[-1,' title: lib.encodeHTML(config.title)'],[-1,' }'],[-1,' );'],[142,' if (allowClose) {'],[15,' html += \'<span class=\"\''],[-1,' + helper.getPartClasses(this, \'close\').join(\' \')'],[-1,' + \'\">\u5173\u95ED<\/span>\';'],[-1,' }'],[142,' return html;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u4E00\u4E2A\u6807\u7B7E\u5143\u7D20'],[-1,' *'],[-1,' * @param {Tab} tab \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {Object} config \u6807\u7B7E\u9875\u7684\u914D\u7F6E'],[-1,' * @param {string} config.title \u6807\u7B7E\u9875\u7684\u6807\u9898'],[-1,' * @param {boolean} isActive \u662F\u5426\u81EA\u6FC0\u6D3B\u72B6\u6001'],[-1,' * @param {boolean} allowClose \u662F\u5426\u5141\u8BB8\u5173\u95ED'],[-1,' *\/'],[1,' function createTabElement(tab, config, isActive, allowClose) {'],[142,' var element = document.createElement(\'li\');'],[-1,''],[142,' if (isActive) {'],[47,' helper.addPartClasses(tab, \'active\', element);'],[-1,' }'],[-1,''],[142,' element.innerHTML = tab.getContentHTML(config, allowClose);'],[-1,''],[142,' return element;'],[-1,' } '],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u5BFC\u822A\u6761\u7684HTML'],[-1,' *'],[-1,' * @param {Tab} tab Tab\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @inner'],[-1,' *\/'],[1,' function fillNavigator(tab) {'],[52,' var navigator = lib.g(helper.getId(tab, \'navigator\'));'],[52,' var parentNode = navigator.parentNode;'],[52,' var placeholder = navigator.nextSibling;'],[52,' navigator.innerHTML = \'\';'],[52,' navigator.parentNode.removeChild(navigator);'],[-1,''],[52,' for (var i = 0; i < tab.tabs.length; i++) {'],[131,' var config = tab.tabs[i];'],[131,' var isActive = tab.activeIndex === i;'],[131,' var tabElement = '],[-1,' createTabElement(tab, config, isActive, tab.allowClose);'],[131,' navigator.appendChild(tabElement);'],[-1,' }'],[-1,''],[52,' parentNode.insertBefore(navigator, placeholder);'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u6279\u91CF\u66F4\u65B0\u5C5E\u6027\u5E76\u91CD\u7ED8'],[-1,' *'],[-1,' * @param {Object} \u9700\u66F4\u65B0\u7684\u5C5E\u6027'],[-1,' * @public'],[-1,' *\/'],[1,' Tab.prototype.setProperties = function (properties) {'],[-1,' \/\/ \u5982\u679C`tabs`\u914D\u7F6E\u53D8\u4E86\uFF0C\u5219\u4F1A\u5BFC\u81F4`navigator`\u6574\u4E2A\u91CD\u65B0\u6E32\u67D3\uFF0C'],[-1,' \/\/ \u5219\u540E\u7EED\u7684`repaint`\u5904\u7406`activeIndex`\u6216`allowClose`\u4F1A\u4EA7\u751F\u4E00\u6B21\u6D6A\u8D39\uFF0C'],[-1,' \/\/ \u56E0\u6B64\u8FD9\u91CC\u76F4\u63A5\u628A`activeIndex`\u653E\u81EA\u5DF1\u8EAB\u4E0A\uFF0C\u7B49`navigator`\u6E32\u67D3\u540E\u4F7F\u7528\uFF0C'],[-1,' \/\/ \u4E0D\u518D\u628A`activeIndex`\u548C`allowClose`\u52A0\u5165\u5230`changes`\u96C6\u5408\u4E2D\u53BB'],[14,' if (properties.tabs) {'],[5,' if (properties.activeIndex == null) {'],[-1,' \/\/ \u5982\u679C\u4EC5\u6539\u53D8`tabs`\uFF0C\u5219\u7531\u4E8E\u6807\u7B7E\u9875\u7684\u6570\u91CF\u53D8\u5316\uFF0C'],[-1,' \/\/ \u786E\u8BA4\u73B0\u5728\u6FC0\u6D3B\u7684\u6807\u7B7E\u9875\u662F\u4E0D\u662F\u8FD8\u5728\u65B0\u7684`tabs`\u4E2D\uFF0C'],[-1,' \/\/ \u5982\u679C\u4E0D\u5728\u4E86\uFF0C\u5219\u6FC0\u6D3B\u7B2C1\u4E2A\u6807\u7B7E'],[5,' var currentActiveTab = this.tabs[this.activeIndex];'],[5,' var activeIndex = -1;'],[5,' for (var i = 0; i < properties.tabs.length; i++) {'],[4,' if (properties.tabs[i] === currentActiveTab) {'],[2,' activeIndex = i;'],[2,' break;'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/\/ \u53EA\u6709\u5F53\u6FC0\u6D3B\u7684\u5143\u7D20\u53D8\u4E86\u7684\u65F6\u5019\uFF0C\u624D\u9700\u8981\u89E6\u53D1`activate`\u4E8B\u4EF6\uFF0C'],[-1,' \/\/ \u4E8B\u4EF6\u7684\u89E6\u53D1\u7531`properties`\u91CC\u6709\u6CA1\u6709`activeIndex`\u51B3\u5B9A\uFF0C'],[-1,' \/\/ \u56E0\u6B64\u5982\u679C\u65B0\u7684`tabs`\u4E2D\u6CA1\u6709\u539F\u6765\u6FC0\u6D3B\u7684\u90A3\u4E2A\u6807\u7B7E\uFF0C\u5219\u8981\u89E6\u53D1\u4E00\u4E0B'],[5,' if (activeIndex === -1) {'],[-1,' \/\/ \u4E3A\u4E86\u8BA9\u57FA\u7C7B`setProperties`\u68C0\u6D4B\u5230\u53D8\u5316\uFF0C'],[-1,' \/\/ \u5148\u628A`this.activeIndex`\u6539\u6389'],[3,' this.activeIndex = -1;'],[3,' properties.activeIndex = 0;'],[-1,' }'],[-1,' else {'],[2,' this.activeIndex = activeIndex;'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/\/ \u5F53`tabs`\u53D8\u5316\u65F6\uFF0C\u6574\u4E2A\u4F1A\u91CD\u65B0\u5237\uFF0C\u6240\u4EE5`allowClose`\u4E0D\u7528\u52A0\u8FDB\u53BB'],[5,' if (properties.allowClose != null) {'],[0,' this.allowClose = properties.allowClose;'],[0,' delete properties.allowClose;'],[-1,' }'],[-1,' }'],[-1,''],[14,' Control.prototype.setProperties.apply(this, arguments);'],[-1,''],[-1,' \/\/ TODO: \u73B0\u5728\u7684\u903B\u8F91\u4E0B\uFF0C\u5982\u679C`tabs`\u548C`activeIndex`\u540C\u65F6\u53D8\u5316\uFF0C'],[-1,' \/\/ \u4F1A\u5BFC\u81F42\u6B21reflow\uFF08\u4E00\u6B21`fillNavigator`\uFF0C\u4E00\u6B21`activateTab`\uFF09\uFF0C'],[-1,' \/\/ \u770B\u662F\u5426\u8FD8\u6709\u4F18\u5316\u7684\u4F59\u5730'],[-1,' };'],[-1,''],[-1,' \/*'],[-1,' * \u6FC0\u6D3B\u6307\u5B9A\u4F4D\u7F6E\u7684\u6807\u7B7E\u9875'],[-1,' *'],[-1,' * @param {Tab} tab Tab\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @parma {number} index \u5F85\u6FC0\u6D3B\u7684\u6807\u7B7E\u9875\u7684\u4E0B\u6807'],[-1,' *\/'],[1,' function activateTab(tab, index) {'],[65,' for (var i = 0; i < tab.tabs.length; i++) {'],[156,' var config = tab.tabs[i];'],[-1,''],[156,' if (config.panel) {'],[153,' var panel = lib.g(config.panel);'],[153,' if (panel) {'],[16,' panel.style.display = i === index ? \'\' : \'none\';'],[-1,' }'],[-1,' }'],[-1,''],[156,' var navigator = lib.g(helper.getId(tab, \'navigator\'));'],[156,' var tabElement = navigator.children[i];'],[156,' var methodName = '],[-1,' i === index ? \'addPartClasses\' : \'removePartClasses\';'],[156,' helper[methodName](tab, \'active\', tabElement);'],[-1,' }'],[-1,''],[65,' var event = {'],[-1,' activeIndex: index,'],[-1,' tab: tab.tabs[index]'],[-1,' };'],[65,' tab.fire(\'activate\', event);'],[-1,' }'],[-1,''],[-1,' \/\/ \u9ED8\u8BA4\u60C5\u51B5\u4E0B\u53EA\u8981\u5904\u7406\u4E86`tabs`\u5C31\u5565\u90FD\u5904\u7406\u5B8C\u4E86'],[1,' var allProperties = ['],[-1,' { name: \'tabs\' },'],[-1,' { name: \'activeIndex\' }'],[-1,' ];'],[-1,''],[-1,' \/**'],[-1,' * \u91CD\u7ED8'],[-1,' *'],[-1,' * @param {Array=} \u66F4\u65B0\u8FC7\u7684\u5C5E\u6027\u96C6\u5408'],[-1,' * @protected'],[-1,' *\/'],[1,' Tab.prototype.repaint = function (changes) {'],[57,' changes = changes || allProperties;'],[-1,''],[57,' for (var i = 0; i < changes.length; i++) {'],[105,' var record = changes[i];'],[105,' if (record.name === \'tabs\') {'],[50,' fillNavigator(this);'],[-1,' }'],[55,' else if (record.name === \'activeIndex\') {'],[53,' activateTab(this, this.activeIndex);'],[-1,' }'],[2,' else if (record.name === \'allowClose\') {'],[2,' fillNavigator(this);'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6FC0\u6D3B\u4E00\u4E2A\u6807\u7B7E\u9875'],[-1,' *'],[-1,' * @param {Object} config \u6807\u7B7E\u9875\u7684\u914D\u7F6E\u5BF9\u8C61'],[-1,' * @public'],[-1,' *\/'],[1,' Tab.prototype.activate = function (config) {'],[3,' for (var i = 0; i < this.tabs.length; i++) {'],[9,' if (this.tabs[i] === config) {'],[3,' this.set(\'activeIndex\', i);'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6DFB\u52A0\u4E00\u4E2A\u6807\u7B7E\u9875'],[-1,' *'],[-1,' * @param {Object} config \u6807\u7B7E\u9875\u7684\u914D\u7F6E'],[-1,' * @param {string} config.title \u6807\u7B7E\u9875\u7684\u6807\u9898'],[-1,' * @param {string=} config.panel \u6807\u7B7E\u9875\u5BF9\u5E94\u7684\u5BB9\u5668\u7684id'],[-1,' *\/'],[1,' Tab.prototype.add = function (config) {'],[6,' this.insert(config, this.tabs.length);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5728\u6307\u5B9A\u4F4D\u7F6E\u6DFB\u52A0\u4E00\u4E2A\u6807\u7B7E\u9875'],[-1,' *'],[-1,' * @param {Object} config \u6807\u7B7E\u9875\u7684\u914D\u7F6E'],[-1,' * @param {string} config.title \u6807\u7B7E\u9875\u7684\u6807\u9898'],[-1,' * @param {string=} config.panel \u6807\u7B7E\u9875\u5BF9\u5E94\u7684\u5BB9\u5668\u7684id'],[-1,' *\/'],[1,' Tab.prototype.insert = function (config, index) {'],[11,' index = Math.min(index, this.tabs.length);'],[11,' index = Math.max(index, 0);'],[-1,''],[11,' this.tabs.splice(index, 0, config);'],[-1,' \/\/ \u65B0\u52A0\u7684\u6807\u7B7E\u9875\u4E0D\u53EF\u80FD\u662F\u6FC0\u6D3B\u72B6\u6001\u7684\uFF0C\u552F\u4E00\u7684\u4F8B\u5916\u4E0B\u9762\u4F1A\u8986\u76D6\u5230'],[11,' var tabElement = '],[-1,' createTabElement(this, config, false, this.allowClose);'],[11,' var navigator = lib.g(helper.getId(this, \'navigator\'));'],[11,' navigator.insertBefore('],[-1,' tabElement, navigator.children[index] || null);'],[-1,''],[-1,' \/\/ \u5982\u679C\u539F\u6765\u662F\u6CA1\u6709\u6807\u7B7E\u9875\u7684\uFF0C\u5219\u65B0\u52A0\u7684\u8FD9\u4E2A\u9ED8\u8BA4\u6FC0\u6D3B'],[11,' if (this.tabs.length === 1) {'],[4,' this.activeIndex = 0;'],[4,' activateTab(this, 0);'],[-1,' }'],[-1,' else {'],[-1,' \/\/ \u5982\u679C\u5728\u5F53\u524D\u6FC0\u6D3B\u7684\u6807\u7B7E\u524D\u9762\u63D2\u5165\u4E00\u4E2A\uFF0C\u5219`activeIndex`\u9700\u8981\u53D8\u5316\uFF0C'],[-1,' \/\/ \u4F46\u89C6\u56FE\u662F\u4E0D\u7528\u5237\u65B0\u7684'],[7,' if (index <= this.activeIndex) {'],[3,' this.activeIndex++;'],[-1,' }'],[-1,''],[-1,' \/\/ \u65B0\u52A0\u5165\u7684\u6807\u7B7E\u9ED8\u8BA4\u8981\u9690\u85CF\u8D77\u6765'],[7,' if (config.panel) {'],[7,' var panel = lib.g(config.panel);'],[7,' if (panel) {'],[1,' panel.style.display = \'none\';'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[11,' this.fire(\'add\', { tab: config, index: index });'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u79FB\u9664\u4E00\u4E2A\u6807\u7B7E\u9875'],[-1,' *'],[-1,' * @param {Object} config \u6807\u7B7E\u9875\u7684\u914D\u7F6E'],[-1,' *\/'],[1,' Tab.prototype.remove = function (config) {'],[3,' for (var i = 0; i < this.tabs.length; i++) {'],[6,' if (this.tabs[i] === config) {'],[3,' this.removeAt(i);'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6839\u636E\u4E0B\u6807\u79FB\u9664\u4E00\u4E2A\u6807\u7B7E\u9875'],[-1,' *'],[-1,' * @param {number} index \u9700\u8981\u79FB\u9664\u7684\u6807\u7B7E\u9875\u7684\u4E0B\u6807'],[-1,' *\/'],[1,' Tab.prototype.removeAt = function (index) {'],[14,' var removed = this.tabs.splice(index, 1)[0];'],[14,' var navigator = lib.g(helper.getId(this, \'navigator\'));'],[14,' if (removed) {'],[14,' var tabElement = navigator.children[index];'],[14,' tabElement.parentNode.removeChild(tabElement);'],[-1,''],[-1,' \/\/ \u5982\u679C\u5220\u7684\u6807\u7B7E\u5728\u5F53\u524D\u6FC0\u6D3B\u7684\u6807\u7B7E\u7684\u524D\u9762\uFF0C'],[-1,' \/\/ \u5219\u5F53\u524D\u6FC0\u6D3B\u7684\u6807\u7B7E\u7684\u4E0B\u6807\u5176\u5B9E\u6539\u53D8\u4E86\uFF0C`activeIndex`\u662F\u8981\u8C03\u6574\u7684\uFF0C'],[-1,' \/\/ \u4F46\u8FD9\u79CD\u60C5\u51B5\u4E0B\u5B9E\u9645\u6FC0\u6D3B\u7684\u8FD8\u662F\u540C\u4E00\u4E2A\u6807\u7B7E\uFF0C\u4E0D\u7528\u91CD\u65B0\u6E32\u67D3'],[14,' if (index < this.activeIndex) {'],[1,' this.activeIndex--;'],[-1,' }'],[-1,' \/\/ \u5982\u679C\u6B63\u597D\u6FC0\u6D3B\u7684\u6807\u7B7E\u88AB\u5220\u4E86\uFF0C\u5219\u628A\u6FC0\u6D3B\u6807\u7B7E\u6362\u6210\u5F53\u524D\u7684\u540E\u4E00\u4E2A\uFF0C'],[-1,' \/\/ \u5982\u679C\u6CA1\u6709\u540E\u4E00\u4E2A\u4E86\uFF0C\u5219\u6362\u6210\u6700\u540E\u4E00\u4E2A\uFF0C\u8FD9\u9700\u8981\u91CD\u65B0\u6E32\u67D3'],[13,' else if (index === this.activeIndex) {'],[-1,' \/\/ \u7531\u4E8E\u53EF\u80FD`activeIndex`\u6CA1\u53D8\uFF0C\u56E0\u6B64\u4E0D\u80FD\u8D70`setProperties`\u6D41\u7A0B'],[8,' this.activeIndex = Math.min('],[-1,' this.activeIndex, '],[-1,' this.tabs.length - 1'],[-1,' );'],[8,' activateTab(this, this.activeIndex);'],[-1,' }'],[-1,''],[-1,' \/\/ \u9690\u85CF\u5BF9\u5E94\u7684\u5143\u7D20'],[14,' if (removed.panel) {'],[14,' var panel = lib.g(removed.panel);'],[14,' if (panel) {'],[1,' panel.style.display = \'none\';'],[-1,' }'],[-1,' }'],[14,' this.fire(\'remove\', { tab: removed, index: index });'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/\/ TODO: \u6DFB\u52A0`allowClose`\u5C5E\u6027\u7684\u63A7\u5236'],[-1,''],[1,' lib.inherits(Tab, Control);'],[1,' require(\'.\/main\').register(Tab);'],[1,' return Tab;'],[-1,' }'],[-1,');']] |
||||
../src/Select.js | 170 | 154 | 90 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u4E0B\u62C9\u6846\u63A7\u4EF6'],[-1,' * @author otakustay'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[5,' var lib = require(\'.\/lib\');'],[5,' var helper = require(\'.\/controlHelper\');'],[5,' var InputControl = require(\'.\/InputControl\');'],[-1,''],[-1,' \/\/ css'],[3,' require(\'css!.\/css\/Select.css\');'],[-1,' '],[-1,' \/**'],[-1,' * \u4E0B\u62C9\u9009\u62E9\u63A7\u4EF6'],[-1,' *'],[-1,' * @param {Object=} options \u6784\u9020\u63A7\u4EF6\u7684\u9009\u9879'],[-1,' * @constructor'],[-1,' *\/'],[3,' function Select(options) {'],[67,' InputControl.apply(this, arguments);'],[-1,' }'],[-1,''],[3,' Select.prototype.type = \'Select\';'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u4E3B\u5143\u7D20'],[-1,' *'],[-1,' * @param {Object} options \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u53C2\u6570'],[-1,' * @return {HTMLElement} \u4E3B\u5143\u7D20'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[3,' Select.prototype.createMain = function (options) {'],[67,' return document.createElement(\'div\');'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6839\u636E`selectedIndex` < `value` < `rawValue`\u7684\u987A\u5E8F\u8C03\u6574\u4E09\u4E2A\u53C2\u6570\u7684\u503C'],[-1,' *'],[-1,' * @param {Object} context \u6709\u53EF\u80FD\u5305\u542B\u4EE5\u4E0A3\u4E2A\u53C2\u6570\u7684\u53C2\u6570\u5BF9\u8C61'],[-1,' * @inner'],[-1,' *\/'],[3,' function adjustValueProperties(context) {'],[-1,' \/\/ \u5982\u679C\u7ED9\u4E86`selectedIndex`\uFF0C\u4E14\u6CA1\u6709`value`\u548C`rawValue`\u6765\u8986\u76D6\uFF0C'],[-1,' \/\/ \u5219\u4EE5`selectedIndex`\u4E3A\u51C6\u8BBE\u5B9A`rawValue`'],[129,' if (context.selectedIndex != null'],[-1,' && context.value == null'],[-1,' && context.rawValue == null'],[-1,' ) {'],[9,' var selectedItem = context.datasource[context.selectedIndex];'],[9,' context.rawValue = selectedItem ? selectedItem.value : null;'],[-1,' }'],[-1,' else {'],[-1,' \/\/ \u5982\u679C\u7ED9\u4E86`value`\uFF0C\u5219\u9700\u8981\u4ECE\u5176\u4EA7\u751F`rawValue`\u7684\u503C\uFF1A'],[-1,' \/\/ '],[-1,' \/\/ - \u5982\u679C\u540C\u65F6\u7ED9\u4E86`rawValue`\uFF0C\u4EE5`rawValue`\u4E3A\u51C6'],[-1,' \/\/ - \u5426\u5219\u4F7F\u7528`value`\u4F5C\u4E3A`rawValue`'],[120,' if (context.value != null) {'],[44,' if (context.rawValue == null) {'],[42,' context.rawValue = context.value; '],[-1,' }'],[44,' delete context.value;'],[-1,' }'],[-1,''],[-1,' \/\/ \u5F53\u4EE5`value`\u6216`rawValue`\u4E3A\u57FA\u51C6\u65F6\uFF0C\u8981\u540C\u6B65\u4E00\u6B21`selectedIndex`'],[120,' context.selectedIndex = -1;'],[120,' for (var i = 0; i < context.datasource.length; i++) {'],[644,' if (context.datasource[i].value == context.rawValue) {'],[79,' context.selectedIndex = i;'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/\/ \u6709\u53EF\u80FD\u66F4\u6362\u8FC7`datasource`\uFF0C\u6216\u8005\u7ED9\u4E86\u4E00\u4E2A\u4E0D\u5B58\u5728\u7684`value`\uFF0C'],[-1,' \/\/ \u5219\u4F1A\u5BFC\u81F4`selectedIndex`\u65E0\u6CD5\u540C\u6B65\uFF0C'],[-1,' \/\/ \u56E0\u6B64\u5982\u679C`selectedIndex`\u5728\u6570\u7EC4\u8303\u56F4\u5916\uFF0C\u8981\u6839\u636E`emptyText`\u6765\u51B3\u5B9A\u4FEE\u6B63'],[129,' if (context.selectedIndex < 0 '],[-1,' || context.selectedIndex >= context.datasource.length'],[-1,' ) {'],[46,' if (context.emptyText) {'],[14,' context.selectedIndex = -1;'],[14,' context.rawValue = null;'],[-1,' }'],[-1,' else {'],[32,' context.selectedIndex = 0;'],[32,' context.rawValue = context.datasource[0]'],[-1,' ? context.datasource[0].value'],[-1,' : \'\';'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316\u53C2\u6570'],[-1,' *'],[-1,' * @param {Object} options \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u53C2\u6570'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[3,' Select.prototype.initOptions = function (options) {'],[67,' var defaults = {'],[-1,' datasource: []'],[-1,' };'],[-1,''],[67,' var properties = {};'],[67,' lib.extend(properties, defaults, options);'],[-1,''],[-1,' \/\/ \u5982\u679C\u4E3B\u5143\u7D20\u662F\u4E2A`<select>`\u5143\u7D20\uFF0C\u5219\u9700\u8981\u4ECE\u5143\u7D20\u4E2D\u62BD\u53D6\u6570\u636E\u6E90\uFF0C'],[-1,' \/\/ \u8FD9\u79CD\u60C5\u51B5\u4E0B\u6784\u9020\u51FD\u6570\u4E2D\u4F20\u5165\u7684`datasource`\u65E0\u6548'],[67,' if (this.main.nodeName.toLowerCase() === \'select\') {'],[2,' properties.datasource = [];'],[2,' var elements = this.main.getElementsByTagName(\'option\');'],[2,' for (var i = 0, length = elements.length; i < length; i++) {'],[6,' var item = elements[i];'],[6,' var dataItem = {'],[-1,' name: item.name || item.text, '],[-1,' value: item.value'],[-1,' };'],[-1,''],[6,' properties.datasource.push(dataItem);'],[-1,''],[-1,' \/\/ \u5DF2\u7ECF\u9009\u62E9\u7684\u90A3\u4E2A\u4F1A\u4F5C\u4E3A\u503C\uFF0C'],[-1,' \/\/ \u4F46\u5982\u679C\u6784\u9020\u51FD\u6570\u4E2D\u6709\u4F20\u5165\u548C\u503C\u76F8\u5173\u7684\u9009\u9879\uFF0C\u5219\u8DF3\u8FC7\u8FD9\u6BB5\u903B\u8F91'],[6,' if (item.selected'],[-1,' && properties.selectedIndex == null'],[-1,' && properties.value == null'],[-1,' && properties.rawValue == null'],[-1,' ) {'],[1,' properties.rawValue = item.value;'],[-1,' \/\/ \u65E0\u503C\u7684\u8BDD\u80AF\u5B9A\u662F\u5728\u6700\u524D\u9762'],[1,' properties.selectedIndex = item.value ? i : 0;'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[67,' this.setProperties(properties);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6BCF\u4E2A\u8282\u70B9\u663E\u793A\u7684\u5185\u5BB9\u7684\u6A21\u677F'],[-1,' *'],[-1,' * @type {string}'],[-1,' * @public'],[-1,' *\/'],[3,' Select.prototype.itemTemplate = \'<span>${text}<\/span>\';'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u6BCF\u4E2A\u8282\u70B9\u663E\u793A\u7684\u5185\u5BB9'],[-1,' *'],[-1,' * @param {Object} item \u8282\u70B9\u6570\u636E'],[-1,' * @return {string} \u8282\u70B9\u7684HTML'],[-1,' * @public'],[-1,' *\/'],[3,' Select.prototype.getItemHTML = function (item) {'],[68,' var data = {'],[-1,' text: lib.encodeHTML(item.name || item.text),'],[-1,' value: lib.encodeHTML(item.value)'],[-1,' };'],[68,' return lib.format(this.itemTemplate, data);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u4E0B\u62C9\u5F39\u5C42\u7684HTML'],[-1,' *'],[-1,' * @param {Select} select Select\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @inner'],[-1,' *\/'],[3,' function getLayerHTML(select) {'],[14,' var html = \'\';'],[14,' for (var i = 0; i < select.datasource.length; i++) {'],[74,' var item = select.datasource[i];'],[74,' html += \'<li data-value=\"\' + lib.encodeHTML(item.value) + \'\">\';'],[74,' if (item.value == select.value) {'],[0,' select.selectedIndex = i;'],[-1,' }'],[74,' html += select.getItemHTML(item);'],[74,' html += \'<\/li>\';'],[-1,' }'],[14,' return html;'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u5F39\u51FA\u5C42\u7684DOM\u5143\u7D20'],[-1,' *'],[-1,' * @param {Select} select Select\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @return {HTMLElement}'],[-1,' * @innter'],[-1,' *\/'],[3,' function getSelectionLayer(select) {'],[216,' return lib.g(helper.getId(select, \'layer\'));'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u5173\u95ED\u4E0B\u62C9\u5F39\u5C42'],[-1,' *'],[-1,' * @param {Select} select Select\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {Event} \u89E6\u53D1\u4E8B\u4EF6\u7684\u4E8B\u4EF6\u5BF9\u8C61'],[-1,' * @inner'],[-1,' *\/'],[3,' function closeLayer(select, e) {'],[0,' var target = e.target;'],[0,' var layer = getSelectionLayer(select);'],[0,' var main = select.main;'],[-1,''],[0,' if (!layer) {'],[0,' return;'],[-1,' }'],[-1,''],[0,' while (target && (target !== layer && target !== main)) {'],[0,' target = target.parentNode;'],[-1,' }'],[-1,''],[0,' if (target !== layer && target !== main) {'],[0,' hideLayer(select);'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u6839\u636E\u4E0B\u62C9\u5F39\u5C42\u7684`click`\u4E8B\u4EF6\u8BBE\u7F6E\u503C'],[-1,' *'],[-1,' * @param {Select} select Select\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {Event} \u89E6\u53D1\u4E8B\u4EF6\u7684\u4E8B\u4EF6\u5BF9\u8C61'],[-1,' * @inner'],[-1,' *\/'],[3,' function selectValue(select, e) {'],[2,' var target = lib.event.getTarget(e);'],[2,' while (target && !lib.hasAttribute(target, \'data-value\')) {'],[0,' target = target.parentNode;'],[-1,' }'],[2,' if (target) {'],[2,' var value = target.getAttribute(\'data-value\');'],[2,' select.setRawValue(value);'],[-1,' }'],[2,' hideLayer(select);'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u663E\u793A\u4E0B\u62C9\u5F39\u5C42'],[-1,' *'],[-1,' * @param {Select} Select\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' *\/'],[3,' function showLayer(select) {'],[14,' var layer = getSelectionLayer(select);'],[14,' var classes = helper.getPartClasses(select, \'layer-hidden\');'],[14,' helper.layer.attachTo('],[-1,' layer, '],[-1,' select.main, '],[-1,' { top: \'bottom\', left: \'left\', right: \'right\' }'],[-1,' );'],[14,' lib.removeClasses(layer, classes);'],[14,' select.addState(\'active\');'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u9690\u85CF\u4E0B\u62C9\u5F39\u5C42'],[-1,' *'],[-1,' * @param {Select} Select\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' *\/'],[3,' function hideLayer(select) {'],[11,' var layer = getSelectionLayer(select);'],[11,' if (layer) {'],[5,' var classes = helper.getPartClasses(select, \'layer-hidden\');'],[5,' lib.addClasses(layer, classes);'],[5,' select.removeState(\'active\');'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u540C\u6B65\u9009\u4E2D\u9879\u7684\u6837\u5F0F'],[-1,' *'],[-1,' * @param {Select} select \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @inner'],[-1,' *\/'],[3,' function syncSelectedItem(select) {'],[96,' var layer = getSelectionLayer(select);'],[-1,''],[96,' if (!layer) {'],[79,' return;'],[-1,' }'],[-1,''],[17,' var classes = helper.getPartClasses(select, \'layer-selected\');'],[17,' var items = layer.children;'],[17,' for (var i = items.length - 1; i >= 0; i--) {'],[92,' var item = items[i];'],[92,' if (item.getAttribute(\'data-value\') == select.rawValue) {'],[17,' lib.addClasses(item, classes);'],[-1,' }'],[-1,' else {'],[75,' lib.removeClasses(item, classes);'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u6253\u5F00\u4E0B\u62C9\u5F39\u5C42'],[-1,' *'],[-1,' * @param {Select} select Select\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @inner'],[-1,' *\/'],[3,' function openLayer(select) {'],[14,' var layer = getSelectionLayer(select);'],[14,' if (!layer) {'],[14,' var layer = helper.layer.create(\'ol\');'],[14,' layer.id = helper.getId(select, \'layer\');'],[14,' layer.className = '],[-1,' helper.getPartClasses(select, \'layer\').join(\' \');'],[14,' layer.innerHTML = getLayerHTML(select);'],[14,' document.body.appendChild(layer);'],[-1,''],[14,' helper.addDOMEvent('],[-1,' select, '],[-1,' layer, '],[-1,' \'click\', '],[-1,' lib.bind(selectValue, null, select)'],[-1,' );'],[14,' var close = lib.bind(closeLayer, null, select);'],[14,' lib.on(document, \'mousedown\', close);'],[14,' select.on('],[-1,' \'afterdispose\','],[-1,' function () {'],[14,' lib.un(document, \'mousedown\', close);'],[-1,' }'],[-1,' );'],[-1,''],[-1,' \/\/ \u5F53`Select`\u4F5C\u4E3A\u522B\u7684\u63A7\u4EF6\u7684\u5B50\u63A7\u4EF6\u65F6\uFF0C'],[-1,' \/\/ \u522B\u7684\u63A7\u4EF6\u4E5F\u53EF\u80FD\u6CE8\u518C`document`\u4E0A\u7684`mousedown`\u5173\u6389\u81EA\u5DF1\u7684\u5F39\u5C42\uFF0C'],[-1,' \/\/ \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u5982\u679C`Select`\u628A`mousedown`\u5192\u6CE1\u4E0A\u53BB\uFF0C'],[-1,' \/\/ \u5219\u4F1A\u56E0\u4E3A\u9009\u62E9\u4E00\u4E2A\u5B50\u63A7\u4EF6\u7684\u5185\u5BB9\u5BFC\u81F4\u7236\u63A7\u4EF6\u7684\u5F39\u5C42\u6D88\u5931\uFF0C'],[-1,' \/\/ \u56E0\u6B64\u8FD9\u91CC\u8981\u53D6\u6D88\u6389`mousedown`\u7684\u5192\u6CE1\u6765\u907F\u514D\u8FD9\u95EE\u9898\u7684\u51FA\u73B0'],[14,' helper.addDOMEvent('],[-1,' this, '],[-1,' layer,'],[-1,' \'mousedown\','],[0,' function (e) { e.stopPropagation(); }'],[-1,' );'],[-1,' }'],[-1,''],[14,' showLayer(select);'],[14,' syncSelectedItem(select);'],[-1,''],[14,' return layer;'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u6839\u636E\u4E0B\u62C9\u5F39\u5C42\u5F53\u524D\u72B6\u6001\u6253\u5F00\u6216\u5173\u95ED\u4E4B'],[-1,' *'],[-1,' * @param {Select} select Select\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {Event} e \u89E6\u53D1\u4E8B\u4EF6\u7684\u4E8B\u4EF6\u5BF9\u8C61'],[-1,' * @inner'],[-1,' *\/'],[3,' function toggleLayer(select, e) {'],[14,' var layer = getSelectionLayer(select);'],[14,' if (!layer) {'],[14,' layer = openLayer(select);'],[-1,' }'],[-1,' else {'],[0,' var classes = helper.getPartClasses(select, \'layer-hidden\');'],[0,' if (lib.hasClass(layer, classes[0])) {'],[0,' showLayer(select);'],[-1,' }'],[-1,' else {'],[0,' hideLayer(select);'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316DOM\u7ED3\u6784'],[-1,' *'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[3,' Select.prototype.initStructure = function () {'],[-1,' \/\/ \u5982\u679C\u4E3B\u5143\u7D20\u662F`<select>`\uFF0C\u5220\u4E4B\u66FF\u6362\u6210`<div>`'],[56,' if (this.main.nodeName.toLowerCase() === \'select\') {'],[2,' var main = this.createMain();'],[2,' lib.insertBefore(main, this.main);'],[2,' this.main.parentNode.removeChild(this.main);'],[2,' this.main = main;'],[-1,' }'],[-1,''],[56,' this.main.tabIndex = 0;'],[-1,' '],[56,' var html = ['],[-1,' \'<span><\/span>\','],[-1,' \'<input type=\"hidden\" name=\"${name}\" \/>\''],[-1,' ];'],[56,' this.main.innerHTML = lib.format('],[-1,' html.join(\'\\n\'),'],[-1,' { name: this.name }'],[-1,' );'],[-1,''],[56,' helper.addDOMEvent('],[-1,' this, this.main, \'click\', lib.bind(toggleLayer, null, this));'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6839\u636E\u63A7\u4EF6\u7684\u503C\u66F4\u65B0\u5176\u89C6\u56FE'],[-1,' *'],[-1,' * @param {Select} select Select\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @inner'],[-1,' *\/'],[3,' function updateValue(select) {'],[-1,' \/\/ \u540C\u6B65`value`'],[82,' var hidden = select.main.getElementsByTagName(\'input\')[0];'],[82,' hidden.value = select.rawValue == null ? \'\' : select.rawValue;'],[-1,''],[-1,' \/\/ \u540C\u6B65\u663E\u793A\u7684\u6587\u5B57'],[82,' var textHolder = select.main.getElementsByTagName(\'span\')[0];'],[82,' if (select.selectedIndex === -1) {'],[7,' textHolder.innerHTML = lib.encodeHTML(select.emptyText);'],[-1,' }'],[-1,' else {'],[75,' var selectedItem = select.datasource[select.selectedIndex];'],[75,' var displayText = selectedItem '],[-1,' ? (selectedItem.name || selectedItem.text)'],[-1,' : \'\';'],[75,' textHolder.innerHTML = lib.encodeHTML(displayText);'],[-1,' }'],[-1,''],[82,' syncSelectedItem(select);'],[-1,' }'],[-1,''],[3,' var paint = require(\'.\/painters\');'],[-1,''],[-1,' \/**'],[-1,' * \u91CD\u7ED8'],[-1,' *'],[-1,' * @param {Array=} \u66F4\u65B0\u8FC7\u7684\u5C5E\u6027\u96C6\u5408'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' Select.prototype.repaint = helper.createRepaint('],[-1,' InputControl.prototype.repaint,'],[-1,' paint.style(\'width\'),'],[-1,' paint.style(\'height\'),'],[-1,' paint.html(\'datasource\', \'layer\', getLayerHTML),'],[-1,' {'],[-1,' name: [\'rawValue\', \'emptyText\'],'],[-1,' paint: updateValue'],[-1,' },'],[-1,' {'],[-1,' name: [\'disabled\', \'hidden\', \'readOnly\'],'],[-1,' paint: function (select, disabled, hidden, readOnly) {'],[60,' if (disabled || hidden || readOnly) {'],[9,' hideLayer(select);'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,' );'],[-1,''],[-1,' \/**'],[-1,' * \u6279\u91CF\u66F4\u65B0\u5C5E\u6027\u5E76\u91CD\u7ED8'],[-1,' *'],[-1,' * @param {Object} \u9700\u66F4\u65B0\u7684\u5C5E\u6027'],[-1,' * @override'],[-1,' * @public'],[-1,' *\/'],[1,' Select.prototype.setProperties = function (properties) {'],[-1,' \/\/ \u4E3A\u4E86`adjustValueProperties`\u6B63\u5E38\u5DE5\u4F5C\uFF0C\u9700\u8981\u52A0\u4E0A\u4E00\u70B9\u4E1C\u897F\uFF0C'],[-1,' \/\/ \u7531\u4E8E\u5728`setProperties`\u6709\u76F8\u7B49\u5224\u65AD\uFF0C\u6240\u4EE5\u989D\u5916\u52A0\u76F8\u540C\u7684\u4E1C\u897F\u4E0D\u5F71\u54CD\u903B\u8F91'],[129,' if (properties.datasource == null) {'],[53,' properties.datasource = this.datasource;'],[-1,' }'],[129,' if (properties.value == null'],[-1,' && properties.rawValue == null'],[-1,' && properties.selectedIndex == null'],[-1,' ) {'],[64,' properties.rawValue = this.rawValue;'],[-1,' }'],[129,' if (!properties.hasOwnProperty(\'emptyText\')) {'],[115,' properties.emptyText = this.emptyText;'],[-1,' }'],[-1,''],[129,' adjustValueProperties(properties);'],[129,' var changes = '],[-1,' InputControl.prototype.setProperties.apply(this, arguments);'],[-1,''],[129,' if (changes.hasOwnProperty(\'rawValue\')) {'],[93,' this.fire(\'change\');'],[-1,' }'],[-1,''],[129,' return changes;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u9500\u6BC1\u63A7\u4EF6'],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' Select.prototype.dispose = function () {'],[67,' var layer = getSelectionLayer(this);'],[67,' if (layer) {'],[14,' layer.parentNode.removeChild(layer);'],[-1,' }'],[-1,''],[67,' InputControl.prototype.dispose.apply(this, arguments);'],[-1,' };'],[-1,''],[1,' lib.inherits(Select, InputControl);'],[1,' require(\'.\/main\').register(Select);'],[1,' return Select;'],[-1,' }'],[-1,');']] |
||||
../src/TextBox.js | 122 | 111 | 90 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u6587\u672C\u6846\u8F93\u5165\u63A7\u4EF6'],[-1,' * @author erik'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[2,' var lib = require(\'.\/lib\');'],[2,' var helper = require(\'.\/controlHelper\');'],[2,' var InputControl = require(\'.\/InputControl\');'],[2,' var supportPlaceholder = '],[-1,' (\'placeholder\' in document.createElement(\'input\'));'],[-1,''],[-1,' \/\/ css'],[2,' require(\'css!.\/css\/TextBox.css\');'],[-1,''],[-1,' \/**'],[-1,' * \u6587\u672C\u6846\u8F93\u5165\u63A7\u4EF6\u7C7B'],[-1,' * '],[-1,' * @constructor'],[-1,' * @param {Object} options \u521D\u59CB\u5316\u53C2\u6570'],[-1,' *\/'],[1,' function TextBox(options) {'],[23,' InputControl.apply(this, arguments);'],[-1,' }'],[-1,''],[1,' TextBox.prototype.type = \'TextBox\';'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u4E3B\u5143\u7D20'],[-1,' *'],[-1,' * @return {HTMLElement} \u4E3B\u5143\u7D20'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' TextBox.prototype.createMain = function () {'],[18,' return document.createElement(\'div\');'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316\u53C2\u6570'],[-1,' *'],[-1,' * @param {Object} options \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u53C2\u6570'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' TextBox.prototype.initOptions = function (options) {'],[23,' var properties = {'],[-1,' mode: \'text\','],[-1,' value: \'\','],[-1,' placeholder: \'\','],[-1,' autoSelect: false'],[-1,' };'],[23,' lib.extend(properties, options);'],[-1,''],[23,' if (!properties.name) {'],[19,' properties.name = this.main.getAttribute(\'name\');'],[-1,' }'],[-1,''],[23,' if (lib.isInput(this.main)) {'],[6,' var nodeName = this.main.nodeName.toLowerCase();'],[-1,''],[6,' if (nodeName === \'textarea\') {'],[1,' properties.mode = \'textarea\';'],[-1,' }'],[-1,' else {'],[5,' var type = this.main.type;'],[5,' properties.mode = type === \'password\' ? \'password\' : \'text\';'],[-1,' }'],[-1,''],[6,' if (!properties.placeholder) {'],[6,' properties.placeholder = '],[-1,' this.main.getAttribute(\'placeholder\');'],[-1,' }'],[-1,''],[6,' if (!properties.value) {'],[6,' properties.value = this.main.value;'],[-1,' }'],[-1,' }'],[-1,''],[23,' this.setProperties(properties);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u7279\u6B8A\u7684\u6309\u952E\u5206\u53D1\u4E3A\u4E8B\u4EF6'],[-1,' *'],[-1,' * @param {TextBox} textbox \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {Event} e DOM\u4E8B\u4EF6\u5BF9\u8C61'],[-1,' * @inner'],[-1,' *\/'],[1,' function dispatchSpecialKey(textbox, e) {'],[0,' var keyCode = e.keyCode || e.which;'],[-1,' '],[0,' if (keyCode === 13) {'],[0,' textbox.fire(\'enter\');'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u63A7\u5236placeholder\u7684\u663E\u793A\u4E0E\u9690\u85CF'],[-1,' *'],[-1,' * @param {TextBox} textbox \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {boolean=} focused \u989D\u5916\u6307\u5B9A\u6587\u672C\u6846\u662F\u5426\u805A\u96C6'],[-1,' * @inner'],[-1,' *\/'],[1,' function togglePlaceholder(textbox, focused) {'],[20,' var input = lib.g(textbox.inputId);'],[-1,''],[20,' if (!supportPlaceholder) {'],[20,' var placeholder = '],[-1,' lib.g(helper.getId(textbox, \'placeholder\'));'],[20,' if (typeof focused !== \'boolean\') {'],[17,' focused = document.activeElement === input;'],[-1,' }'],[-1,' \/\/ \u53EA\u6709\u6CA1\u7126\u70B9\u4E14\u6CA1\u503C\u7684\u65F6\u5019\u624D\u663E\u793Aplaceholder'],[20,' if (!focused && !textbox.rawValue) {'],[16,' helper.removePartClasses('],[-1,' textbox, \'placeholder-hidden\', placeholder);'],[-1,' }'],[-1,' else {'],[4,' helper.addPartClasses('],[-1,' textbox, \'placeholder-hidden\', placeholder);'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u5F97\u7126\u70B9\u7684\u903B\u8F91'],[-1,' *'],[-1,' * @param {TextBox} textbox \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {Event} e DOM\u4E8B\u4EF6\u5BF9\u8C61'],[-1,' * @inner'],[-1,' *\/'],[1,' function focus(textbox, e) {'],[2,' togglePlaceholder(textbox, true);'],[-1,''],[2,' if (textbox.autoSelect) {'],[0,' input.select();'],[-1,' }'],[-1,''],[2,' textbox.fire(\'focus\');'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u5931\u53BB\u7126\u70B9\u7684\u903B\u8F91'],[-1,' *'],[-1,' * @param {TextBox} textbox \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {Event} e DOM\u4E8B\u4EF6\u5BF9\u8C61'],[-1,' * @inner'],[-1,' *\/'],[1,' function blur(textbox, e) {'],[1,' togglePlaceholder(textbox, false);'],[-1,''],[1,' textbox.fire(\'blur\');'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u540C\u6B65DOM\u7684\u503C\u4E0E\u63A7\u4EF6\u7684\u5C5E\u6027'],[-1,' *'],[-1,' * @param {TextBox} textbox \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {Event} e DOM\u4E8B\u4EF6\u5BF9\u8C61'],[-1,' * @inner'],[-1,' *\/'],[1,' function syncValue(textbox, e) {'],[0,' var input = lib.g(textbox.inputId);'],[0,' if (e.type === \'input\' || e.propertyName === \'value\') {'],[0,' textbox.rawValue = input.value;'],[0,' textbox.fire(\'input\');'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316DOM\u7ED3\u6784'],[-1,' *'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' TextBox.prototype.initStructure = function () {'],[16,' if (lib.isInput(this.main)) {'],[1,' this.inputId = this.main.id || helper.getId(this, \'input\');'],[1,' this.main.id = this.inputId;'],[-1,''],[-1,' \/\/ \u751F\u6210\u4E00\u4E2A`<div>`\u5E76\u628A\u539F\u6765\u7684`<input>`\u6216`<textarea>`\u653E\u8FDB\u53BB'],[1,' var main = this.createMain();'],[1,' lib.insertBefore(main, this.main);'],[1,' lib.removeNode(this.main);'],[1,' main.appendChild(this.main);'],[1,' this.main = main;'],[-1,' }'],[-1,' else {'],[15,' this.inputId = helper.getId(this, \'input\');'],[15,' var html = this.mode === \'textarea\''],[-1,' ? \'<textarea id=\"\' + this.inputId + \'\"\''],[-1,' : \'<input type=\"\' + this.mode + \'\" \''],[-1,' + \'id=\"\' + this.inputId + \'\"\';'],[15,' if (this.name) {'],[3,' html += \' name=\"\' + lib.encodeHTML(this.name) + \'\"\';'],[-1,' }'],[15,' html += this.mode === \'textarea\''],[-1,' ? \'><\/textarea>\''],[-1,' : \' \/>\';'],[-1,''],[15,' this.main.innerHTML = html;'],[-1,' }'],[-1,''],[16,' var input = lib.g(this.inputId);'],[16,' helper.addDOMEvent('],[-1,' this,'],[-1,' input,'],[-1,' \'keypress\','],[-1,' lib.curry(dispatchSpecialKey, this)'],[-1,' );'],[16,' helper.addDOMEvent('],[-1,' this,'],[-1,' input,'],[-1,' \'focus\','],[-1,' lib.curry(focus, this)'],[-1,' );'],[16,' helper.addDOMEvent('],[-1,' this,'],[-1,' input,'],[-1,' \'blur\','],[-1,' lib.curry(blur, this)'],[-1,' );'],[16,' var inputEventName = (\'oninput\' in input) '],[-1,' ? \'input\' '],[-1,' : \'propertychange\';'],[16,' helper.addDOMEvent('],[-1,' this,'],[-1,' input,'],[-1,' inputEventName,'],[-1,' lib.curry(syncValue, this)'],[-1,' );'],[-1,''],[16,' if (!supportPlaceholder) {'],[16,' var placeholder = document.createElement(\'label\');'],[16,' placeholder.id = helper.getId(this, \'placeholder\');'],[16,' lib.setAttribute(placeholder, \'for\', input.id);'],[16,' placeholder.className = '],[-1,' helper.getPartClasses(this, \'placeholder\').join(\' \');'],[16,' lib.insertAfter(placeholder, input);'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u91CD\u7ED8'],[-1,' *'],[-1,' * @param {Array=} \u66F4\u65B0\u8FC7\u7684\u5C5E\u6027\u96C6\u5408'],[-1,' * @override'],[-1,' * @protected'],[-1,' *\/'],[1,' TextBox.prototype.repaint = helper.createRepaint('],[-1,' {'],[-1,' name: \'width\','],[-1,' paint: function (textbox, width) {'],[17,' if (!width) {'],[16,' return;'],[-1,' }'],[1,' var input = lib.g(textbox.inputId);'],[1,' input.style.width = width + \'px\';'],[1,' var placeholder = '],[-1,' lib.g(helper.getId(textbox, \'placeholder\'));'],[1,' if (placeholder) {'],[1,' placeholder.style.maxWidth = width + \'px\';'],[-1,' }'],[-1,' }'],[-1,' },'],[-1,' {'],[-1,' name: \'height\','],[-1,' paint: function (textbox, height) {'],[17,' if (!height) {'],[16,' return;'],[-1,' }'],[1,' var input = lib.g(textbox.inputId);'],[1,' input.style.height = height + \'px\';'],[1,' var placeholder = '],[-1,' lib.g(helper.getId(textbox, \'placeholder\'));'],[1,' if (placeholder) {'],[1,' placeholder.style.height = height + \'px\';'],[-1,' }'],[-1,' }'],[-1,' },'],[-1,' {'],[-1,' name: \'title\','],[-1,' paint: function (textbox, title) {'],[18,' var input = lib.g(textbox.inputId);'],[18,' var placeholder = '],[-1,' lib.g(helper.getId(textbox, \'placeholder\'));'],[18,' if (title) {'],[2,' textbox.main.setAttribute(\'title\', title);'],[2,' input.setAttribute(\'title\', title);'],[2,' if (placeholder) {'],[2,' placeholder.setAttribute(\'title\', title);'],[-1,' }'],[-1,' }'],[-1,' else {'],[16,' textbox.main.removeAttribute(\'title\');'],[16,' input.removeAttribute(\'title\');'],[16,' if (placeholder) {'],[16,' placeholder.removeAttribute(\'title\');'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,' },'],[-1,' {'],[-1,' name: \'rawValue\','],[-1,' paint: function (textbox, rawValue) {'],[17,' var input = lib.g(textbox.inputId);'],[17,' var eventName = '],[-1,' (\'oninput\' in input) ? \'input\' : \'propertychange\';'],[-1,' \/\/ \u7531\u4E8E`propertychange`\u4E8B\u4EF6\u5BB9\u6613\u8FDB\u5165\u6B7B\u5FAA\u73AF\uFF0C\u56E0\u6B64\u5148\u8981\u79FB\u6389\u539F\u6765\u7684\u4E8B\u4EF6'],[17,' helper.removeDOMEvent(textbox, input, eventName);'],[17,' input.value = rawValue;'],[17,' helper.addDOMEvent('],[-1,' textbox,'],[-1,' input,'],[-1,' eventName,'],[-1,' lib.curry(syncValue, textbox)'],[-1,' );'],[-1,''],[17,' togglePlaceholder(textbox);'],[-1,' }'],[-1,' },'],[-1,' {'],[-1,' name: \'placeholder\','],[-1,' paint: function (textbox, placeholder) {'],[17,' var input = lib.g(textbox.inputId);'],[17,' if (supportPlaceholder) {'],[0,' if (placeholder) {'],[0,' input.setAttribute(\'placeholder\', placeholder);'],[-1,' }'],[-1,' else {'],[0,' input.removeAttribute(\'placeholder\');'],[-1,' }'],[-1,' }'],[-1,' else {'],[17,' var label = '],[-1,' lib.g(helper.getId(textbox, \'placeholder\'));'],[17,' label.innerHTML = lib.encodeHTML(placeholder || \'\');'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,' );'],[-1,''],[1,' require(\'.\/lib\').inherits(TextBox, InputControl);'],[1,' require(\'.\/main\').register(TextBox);'],[1,' return TextBox;'],[-1,' }'],[-1,');']] |
||||
../src/controlHelper.js | 273 | 227 | 83 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u63A7\u4EF6\u7C7B\u5E38\u7528\u7684helper\u65B9\u6CD5\u6A21\u5757'],[-1,' * @author erik, otakustay'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[1,' var lib = require(\'.\/lib\');'],[1,' var ui = require(\'.\/main\');'],[1,' var counter = 0x861005;'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6LifeCycle\u679A\u4E3E'],[-1,' * '],[-1,' * @inner'],[-1,' * @return {Object} '],[-1,' *\/'],[1,' function getLifeCycle() {'],[2830,' return require(\'.\/Control\').LifeCycle;'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u63A7\u4EF6\u7C7B\u5E38\u7528\u7684helper\u65B9\u6CD5\u6A21\u5757'],[-1,' * '],[-1,' * @type {Object}'],[-1,' *\/'],[1,' var helper = {};'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u552F\u4E00id'],[-1,' * '],[-1,' * @inner'],[-1,' * @return {string}'],[-1,' *\/'],[1,' helper.getGUID = function () {'],[363,' return \'esui\' + counter++;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316\u63A7\u4EF6\u89C6\u56FE\u73AF\u5883'],[-1,' * '],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' *\/'],[1,' helper.initViewContext = function (control) {'],[222,' var viewContext = control.viewContext || ui.getViewContext();'],[-1,''],[-1,' \/\/ \u56E0\u4E3A`setViewContext`\u91CC\u6709\u5224\u65AD\u4F20\u5165\u7684`viewContext`\u548C\u81EA\u8EAB\u7684\u662F\u5426\u76F8\u7B49\uFF0C'],[-1,' \/\/ \u8FD9\u91CC\u5FC5\u987B\u5236\u9020\u51FA**\u4E0D\u76F8\u7B49**\u7684\u60C5\u51B5\uFF0C\u518D\u8C03\u7528`setViewContext`'],[222,' control.viewContext = null;'],[222,' control.setViewContext(viewContext);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316\u63A7\u4EF6\u6269\u5C55'],[-1,' * '],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' *\/'],[1,' helper.initExtensions = function (control) {'],[-1,' \/\/ \u9644\u52A0\u5168\u5C40\u6269\u5C55'],[220,' var extensions = control.extensions;'],[220,' if (!(extensions instanceof Array)) {'],[211,' extensions = control.extensions = [];'],[-1,' }'],[220,' Array.prototype.push.apply('],[-1,' extensions, '],[-1,' require(\'.\/main\').createGlobalExtensions()'],[-1,' );'],[-1,''],[-1,' \/\/ \u540C\u7C7B\u578B\u6269\u5C55\u53BB\u91CD'],[220,' var registeredExtensions = {};'],[220,' for (var i = 0, len = extensions.length; i < len; i++) {'],[0,' var extension = extensions[i];'],[0,' if (!registeredExtensions[extension.type]) {'],[0,' extension.attachTo(control);'],[0,' registeredExtensions[extension.type] = true;'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u63A7\u4EF6\u7528\u4E8E\u751F\u6210css class\u7684\u7C7B\u578B'],[-1,' * '],[-1,' * @inner'],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @return {string}'],[-1,' *\/'],[1,' function getControlClassType(control) {'],[794,' return control.type.toLowerCase();'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u53C2\u6570\u7528`-`\u8FDE\u63A5\u6210\u5B57\u7B26\u4E32'],[-1,' * '],[-1,' * @inner'],[-1,' * @param {string} ...arg '],[-1,' * @return {string}'],[-1,' *\/'],[1,' function joinByStrike() {'],[1817,' return [].slice.call(arguments, 0).join(\'-\');'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u63A7\u4EF6\u90E8\u4EF6\u76F8\u5173\u7684class\u6570\u7EC4'],[-1,' *'],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {string=} part \u90E8\u4EF6\u540D\u79F0'],[-1,' * @return {Array.<string>}'],[-1,' *\/'],[1,' helper.getPartClasses = function (control, part) {'],[-1,' \/\/ main:'],[-1,' \/\/ ui-{type}'],[-1,' \/\/ skin-{skinname}'],[-1,' \/\/ skin-{skinname}-{type}'],[-1,' \/\/ part:'],[-1,' \/\/ ui-{type}-{part}'],[-1,' \/\/ skin-{skinname}-{type}-{part}'],[-1,''],[762,' var type = getControlClassType(control);'],[762,' var skin = control.skin;'],[762,' var prefix = ui.getConfig(\'uiClassPrefix\');'],[762,' var skinPrefix = ui.getConfig(\'skinClassPrefix\');'],[762,' var classes = [];'],[-1,''],[762,' if (part) {'],[597,' classes.push(joinByStrike(prefix, type, part));'],[597,' if (skin) {'],[597,' classes.push(joinByStrike(skinPrefix, skin, type, part));'],[-1,' }'],[-1,' }'],[-1,' else {'],[165,' classes.push(joinByStrike(prefix, type));'],[165,' if (skin) {'],[165,' classes.push('],[-1,' joinByStrike(skinPrefix, skin),'],[-1,' joinByStrike(skinPrefix, skin, type)'],[-1,' );'],[-1,' }'],[-1,' }'],[-1,''],[762,' return classes;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6DFB\u52A0\u63A7\u4EF6\u90E8\u4EF6\u76F8\u5173\u7684class'],[-1,' *'],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {string=} part \u90E8\u4EF6\u540D\u79F0'],[-1,' * @param {HTMLElement=} element \u90E8\u4EF6\u5143\u7D20'],[-1,' *\/'],[1,' helper.addPartClasses = function (control, part, element) {'],[340,' element = element || control.main;'],[340,' if (element) {'],[340,' lib.addClasses('],[-1,' element,'],[-1,' helper.getPartClasses(control, part)'],[-1,' );'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u79FB\u9664\u63A7\u4EF6\u90E8\u4EF6\u76F8\u5173\u7684class'],[-1,' *'],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {string=} part \u90E8\u4EF6\u540D\u79F0'],[-1,' * @param {HTMLElement=} element \u90E8\u4EF6\u5143\u7D20'],[-1,' *\/'],[1,' helper.removePartClasses = function (control, part, element) {'],[150,' element = element || control.main;'],[150,' if (element) {'],[150,' lib.removeClasses('],[-1,' element,'],[-1,' helper.getPartClasses(control, part)'],[-1,' );'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u63A7\u4EF6\u72B6\u6001\u76F8\u5173\u7684class\u6570\u7EC4'],[-1,' *'],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {string} state \u72B6\u6001\u540D\u79F0'],[-1,' * @return {Array.<string>}'],[-1,' *\/'],[1,' helper.getStateClasses = function (control, state) {'],[-1,' \/\/ ui-{type}-{statename}'],[-1,' \/\/ state-{statename}'],[-1,' \/\/ skin-{skinname}-{statename}'],[-1,' \/\/ skin-{skinname}-{type}-{statename}'],[-1,' '],[32,' var type = getControlClassType(control);'],[32,' var getConf = ui.getConfig;'],[32,' var classes = ['],[-1,' joinByStrike(getConf(\'uiClassPrefix\'), type, state),'],[-1,' joinByStrike(getConf(\'stateClassPrefix\'), state)'],[-1,' ];'],[-1,''],[32,' var skin = control.skin;'],[32,' if (skin) {'],[32,' var skinPrefix = getConf(\'skinClassPrefix\');'],[32,' classes.push('],[-1,' joinByStrike(skinPrefix, skin, state),'],[-1,' joinByStrike(skinPrefix, skin, type, state)'],[-1,' );'],[-1,' }'],[-1,' '],[32,' return classes;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6DFB\u52A0\u63A7\u4EF6\u72B6\u6001\u76F8\u5173\u7684class'],[-1,' *'],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {string} state \u72B6\u6001\u540D\u79F0'],[-1,' *\/'],[1,' helper.addStateClasses = function (control, state) {'],[24,' var element = control.main;'],[24,' if (element) {'],[24,' lib.addClasses('],[-1,' element, '],[-1,' helper.getStateClasses(control, state)'],[-1,' );'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u79FB\u9664\u63A7\u4EF6\u72B6\u6001\u76F8\u5173\u7684class'],[-1,' *'],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {string} state \u72B6\u6001\u540D\u79F0'],[-1,' *\/'],[1,' helper.removeStateClasses = function (control, state) {'],[7,' var element = control.main;'],[7,' if (element) {'],[7,' lib.removeClasses('],[-1,' element, '],[-1,' helper.getStateClasses(control, state)'],[-1,' );'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u7528\u4E8E\u63A7\u4EF6dom\u5143\u7D20\u7684id'],[-1,' * '],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {string=} part \u90E8\u4EF6\u540D\u79F0'],[-1,' * @return {string} '],[-1,' *\/'],[1,' helper.getId = function (control, part) {'],[884,' part = part ? \'-\' + part : \'\';'],[884,' return \'ctrl-\' + control.id + part;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5224\u65AD\u63A7\u4EF6\u662F\u5426\u5904\u4E8E\u76F8\u5E94\u7684\u751F\u547D\u5468\u671F\u9636\u6BB5'],[-1,' * '],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {string} stage \u751F\u547D\u5468\u671F\u9636\u6BB5'],[-1,' * @return {boolean}'],[-1,' *\/'],[1,' helper.isInStage = function (control, stage) {'],[2005,' var LifeCycle = getLifeCycle();'],[2005,' if (LifeCycle[stage] == null) {'],[1,' throw new Error(\'Invalid life cycle stage: \' + stage);'],[-1,' }'],[-1,''],[2004,' return control.stage == LifeCycle[stage];'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6539\u53D8\u63A7\u4EF6\u7684\u751F\u547D\u5468\u671F\u9636\u6BB5'],[-1,' * '],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {string} stage \u751F\u547D\u5468\u671F\u9636\u6BB5'],[-1,' *\/'],[1,' helper.changeStage = function (control, stage) {'],[825,' var LifeCycle = getLifeCycle();'],[825,' if (LifeCycle[stage] == null) {'],[0,' throw new Error(\'Invalid life cycle stage: \' + stage);'],[-1,' }'],[-1,''],[825,' control.stage = LifeCycle[stage];'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u9500\u6BC1\u63A7\u4EF6'],[-1,' * '],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' *\/'],[1,' helper.dispose = function (control) {'],[-1,' \/\/ \u6E05\u7406\u5B50\u63A7\u4EF6'],[220,' control.disposeChildren();'],[220,' control.children = null;'],[220,' control.childrenIndex = null;'],[-1,''],[-1,' \/\/ \u79FB\u9664\u81EA\u8EAB\u884C\u4E3A'],[220,' helper.clearDOMEvents(control);'],[-1,''],[-1,' \/\/ \u4ECE\u63A7\u4EF6\u6811\u4E2D\u79FB\u9664'],[220,' if (control.parent) {'],[0,' control.parent.removeChild(control);'],[-1,' }'],[-1,''],[-1,' \/\/ \u4ECE\u89C6\u56FE\u73AF\u5883\u79FB\u9664'],[220,' if (control.viewContext) {'],[1,' control.viewContext.remove(control);'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6267\u884C\u63A7\u4EF6\u9500\u6BC1\u524D\u52A8\u4F5C'],[-1,' * '],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' *\/'],[1,' helper.beforeDispose = function (control) {'],[220,' control.fire(\'beforedispose\');'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6267\u884C\u63A7\u4EF6\u9500\u6BC1\u540E\u52A8\u4F5C'],[-1,' * '],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' *\/'],[1,' helper.afterDispose = function (control) {'],[220,' helper.changeStage(control, \'DISPOSED\');'],[220,' control.fire(\'afterdispose\');'],[-1,' };'],[-1,''],[1,' var domEventsKey = \'_esuiDOMEvent\';'],[-1,''],[1,' function triggerDOMEvent(control, element, e) {'],[34,' e = e || window.event;'],[-1,''],[-1,' \/\/ \u6BCF\u4E2A\u63A7\u4EF6\u90FD\u80FD\u5728\u67D0\u4E9B\u72B6\u6001\u4E0B\u4E0D\u5904\u7406DOM\u4E8B\u4EF6'],[34,' if (control.ignoreStates) {'],[27,' for (var i = 0; i < control.ignoreStates.length; i++) {'],[49,' if (control.hasState(control.ignoreStates[i])) {'],[4,' return;'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[30,' if (!e.target) {'],[0,' e.target = e.srcElement;'],[-1,' }'],[30,' if (!e.currentTarget) {'],[0,' e.currentTarget = element;'],[-1,' }'],[30,' if (!e.preventDefault) {'],[0,' e.preventDefault = function () {'],[0,' e.returnValue = false;'],[-1,' };'],[-1,' }'],[30,' if (!e.stopPropagation) {'],[0,' e.stopPropagation = function () {'],[0,' e.cancelBubble = true;'],[-1,' };'],[-1,' }'],[30,' var queue = '],[-1,' control.domEvents[e.currentTarget[domEventsKey]][e.type];'],[30,' for (var i = 0; i < queue.length; i++) {'],[30,' queue[i].call(control, e);'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u4E3A\u63A7\u4EF6\u7BA1\u7406\u7684DOM\u5143\u7D20\u6DFB\u52A0DOM\u4E8B\u4EF6'],[-1,' *'],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {HTMLElement} element \u9700\u8981\u6DFB\u52A0\u4E8B\u4EF6\u7684DOM\u5143\u7D20'],[-1,' * @param {string} type \u4E8B\u4EF6\u7684\u7C7B\u578B'],[-1,' * @param {function} handler \u4E8B\u4EF6\u5904\u7406\u51FD\u6570'],[-1,' *\/'],[1,' helper.addDOMEvent = function (control, element, type, handler) {'],[228,' if (!control.domEvents) {'],[13,' control.domEvents = {};'],[-1,' }'],[-1,''],[228,' var guid = element[domEventsKey];'],[228,' if (!guid) {'],[144,' guid = element[domEventsKey] = helper.getGUID();'],[-1,' }'],[-1,''],[228,' var events = control.domEvents[guid];'],[228,' if (!events) {'],[-1,' \/\/ `events`\u4E2D\u7684\u952E\u90FD\u662F\u4E8B\u4EF6\u7684\u540D\u79F0\uFF0C\u4EC5`element`\u9664\u5916\uFF0C'],[-1,' \/\/ \u56E0\u4E3ADOM\u4E0A\u6CA1\u6709`element`\u8FD9\u4E2A\u4E8B\u4EF6\uFF0C\u6240\u4EE5\u8FD9\u91CC\u5360\u7528\u4E00\u4E0B\u6CA1\u5173\u7CFB'],[158,' events = control.domEvents[guid] = { element: element };'],[-1,' }'],[-1,''],[228,' var queue = events[type];'],[228,' if (!queue) {'],[207,' queue = events[type] = [];'],[207,' queue.handler = lib.curry(triggerDOMEvent, control, element);'],[207,' if (element.addEventListener) {'],[207,' element.addEventListener(type, queue.handler, false);'],[-1,' }'],[-1,' else {'],[0,' element.attachEvent(\'on\' + type, queue.handler);'],[-1,' }'],[-1,' }'],[-1,''],[228,' queue.push(handler);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u4E3A\u63A7\u4EF6\u7BA1\u7406\u7684DOM\u5143\u7D20\u6DFB\u52A0DOM\u4E8B\u4EF6'],[-1,' *'],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {HTMLElement} element \u9700\u8981\u6DFB\u52A0\u4E8B\u4EF6\u7684DOM\u5143\u7D20'],[-1,' * @param {string} type \u4E8B\u4EF6\u7684\u7C7B\u578B'],[-1,' * @param {function} handler \u4E8B\u4EF6\u5904\u7406\u51FD\u6570'],[-1,' *\/'],[1,' helper.removeDOMEvent = function (control, element, type, handler) {'],[22,' if (!control.domEvents) {'],[2,' return;'],[-1,' }'],[-1,' '],[20,' var guid = element[domEventsKey];'],[20,' var events = control.domEvents[guid];'],[-1,''],[20,' if (!events || !events[type]) {'],[1,' return;'],[-1,' }'],[-1,''],[19,' if (!handler) {'],[18,' var oldQueue = events[type];'],[18,' events[type] = [];'],[18,' if (oldQueue) {'],[18,' events[type].handler = oldQueue.handler;'],[-1,' }'],[-1,' }'],[-1,' else {'],[1,' var queue = events[type];'],[1,' for (var i = 0; i < queue.length; i++) {'],[1,' if (queue[i] === handler) {'],[1,' queue.splice(i, 1);'],[-1,' \/\/ \u53EF\u80FD\u6709\u91CD\u590D\u6CE8\u518C\u7684\uFF0C\u6240\u4EE5\u8981\u7EE7\u7EED\u5FAA\u73AF'],[1,' i--;'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6E05\u9664\u63A7\u4EF6\u7BA1\u7406\u7684DOM\u5143\u7D20\u4E0A\u7684\u4E8B\u4EF6'],[-1,' *'],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {HTMLElement=} element \u63A7\u4EF6\u7BA1\u7406\u7684DOM\u5143\u7D20\uFF0C'],[-1,' * \u5982\u679C\u6CA1\u6709\u6B64\u53C2\u6570\u5219\u53BB\u9664\u6240\u6709\u8BE5\u63A7\u4EF6\u7BA1\u7406\u7684\u5143\u7D20\u7684DOM\u4E8B\u4EF6'],[-1,' *\/'],[1,' helper.clearDOMEvents = function (control, element) {'],[356,' if (!control.domEvents) {'],[1,' return;'],[-1,' }'],[-1,''],[355,' if (!element) {'],[221,' for (var guid in control.domEvents) {'],[133,' if (control.domEvents.hasOwnProperty(guid)) {'],[133,' var events = control.domEvents[guid];'],[133,' helper.clearDOMEvents(control, events.element);'],[-1,' }'],[-1,' }'],[221,' return;'],[-1,' }'],[-1,''],[134,' var guid = element[domEventsKey];'],[134,' var events = control.domEvents[guid];'],[-1,' \/\/ `events`\u4E2D\u5B58\u653E\u7740\u5404\u4E8B\u4EF6\u7C7B\u578B\uFF0C\u53EA\u6709`element`\u5C5E\u6027\u662F\u4E00\u4E2ADOM\u5BF9\u8C61\uFF0C'],[-1,' \/\/ \u56E0\u6B64\u8981\u5220\u9664`element`\u8FD9\u4E2A\u952E\uFF0C'],[-1,' \/\/ \u4EE5\u907F\u514D`for... in`\u7684\u65F6\u5019\u78B0\u5230\u4E00\u4E2A\u4E0D\u662F\u6570\u7EC4\u7C7B\u578B\u7684\u503C'],[134,' delete events.element;'],[134,' for (var type in events) {'],[183,' if (events.hasOwnProperty(type)) {'],[183,' var handler = events[type].handler;'],[183,' if (element.removeEventListener) {'],[183,' element.removeEventListener(type, handler, false);'],[-1,' }'],[-1,' else {'],[0,' element.detachEvent(\'on\' + type, handler);'],[-1,' }'],[-1,' }'],[-1,' }'],[134,' delete control.domEvents[guid];'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u901A\u8FC7`painter`\u5BF9\u8C61\u521B\u5EFA`repaint`\u65B9\u6CD5'],[-1,' *'],[-1,' * @param {function=} supterRepaint \u7236\u7C7B\u7684`repaint`\u65B9\u6CD5'],[-1,' * @param {...Object} args `painter`\u5BF9\u8C61'],[-1,' * @return {function} `repaint`\u65B9\u6CD5\u7684\u5B9E\u73B0'],[-1,' *\/'],[1,' helper.createRepaint = function (superRepaint) {'],[6,' var hasSuperRepaint = typeof superRepaint === \'function\';'],[6,' var painters = [].concat.apply('],[-1,' [], [].slice.call(arguments, hasSuperRepaint ? 1 : 0));'],[6,' var map = {};'],[6,' for (var i = 0; i < painters.length; i++) {'],[17,' map[painters[i].name] = painters[i];'],[-1,' }'],[-1,''],[6,' return function (changes, changesIndex) {'],[261,' if (hasSuperRepaint) {'],[239,' superRepaint.apply(this, arguments);'],[-1,' }'],[-1,''],[-1,' \/\/ \u4E34\u65F6\u7D22\u5F15\uFF0C\u4E0D\u80FD\u76F4\u63A5\u4FEE\u6539`changesIndex`\uFF0C\u4F1A\u5BFC\u81F4\u5B50\u7C7B\u7684\u903B\u8F91\u9519\u8BEF'],[261,' var index = changesIndex ? lib.clone(changesIndex) : {};'],[261,' for (var i = 0; i < painters.length; i++) {'],[900,' var painter = painters[i];'],[900,' var propertyNames = [].concat(painter.name);'],[-1,''],[-1,' \/\/ \u4EE5\u4E0B2\u79CD\u60C5\u51B5\u4E0B\u8981\u8C03\u7528\uFF1A'],[-1,' \/\/ '],[-1,' \/\/ - \u7B2C\u4E00\u6B21\u91CD\u4F1A\uFF08\u6CA1\u6709`changes`\uFF09'],[-1,' \/\/ - `changesIndex`\u6709\u4EFB\u4F55\u4E00\u4E2A\u8D1F\u8D23\u7684\u5C5E\u6027\u7684\u53D8\u5316'],[900,' var shouldPaint = !changes;'],[900,' if (!shouldPaint) {'],[413,' for (var j = 0; j < propertyNames.length; j++) {'],[536,' var name = propertyNames[j];'],[536,' if (changesIndex.hasOwnProperty(name)) {'],[57,' shouldPaint = true;'],[57,' break;'],[-1,' }'],[-1,' }'],[-1,' }'],[900,' if (!shouldPaint) {'],[356,' continue;'],[-1,' }'],[-1,''],[-1,' \/\/ \u6536\u96C6\u6240\u6709\u5C5E\u6027\u7684\u503C'],[544,' var properties = [this];'],[544,' for (var j = 0; j < propertyNames.length; j++) {'],[746,' var name = propertyNames[j];'],[746,' properties.push(this[name]);'],[-1,' \/\/ \u4ECE\u7D22\u5F15\u4E2D\u5220\u9664\uFF0C\u4E3A\u4E86\u540E\u7EED\u6784\u5EFA`unpainted`\u6570\u7EC4'],[746,' delete index[name]; '],[-1,' }'],[-1,' \/\/ \u7ED8\u5236'],[544,' painter.paint.apply(painter, properties);'],[-1,' }'],[-1,''],[-1,' \/\/ \u6784\u5EFA\u51FA\u672A\u6E32\u67D3\u7684\u5C5E\u6027\u96C6\u5408'],[261,' var unpainted = [];'],[261,' for (var key in index) {'],[123,' if (index.hasOwnProperty(key)) {'],[123,' unpainted.push(index[key]);'],[-1,' }'],[-1,' }'],[-1,''],[261,' return unpainted;'],[-1,' };'],[-1,' };'],[-1,''],[1,' var layer = helper.layer = {};'],[1,' var zIndexStack = 1000;'],[-1,''],[-1,' \/\/ \u7EDF\u4E00\u65B9\u6CD5'],[1,' function render(element, options) {'],[14,' var properties = require(\'.\/lib\').clone(options || {});'],[-1,''],[-1,' \/\/ \u5982\u679C\u540C\u65F6\u6709`top`\u548C`bottom`\uFF0C\u5219\u8BA1\u7B97\u51FA`height`\u6765'],[14,' if (properties.hasOwnProperty(\'top\')'],[-1,' && properties.hasOwnProperty(\'bottom\')'],[-1,' ) {'],[0,' properties.height = properties.bottom - properties.top;'],[0,' delete properties.bottom;'],[-1,' }'],[-1,' \/\/ \u540C\u6837\u5904\u7406`left`\u548C`right`'],[14,' if (properties.hasOwnProperty(\'left\')'],[-1,' && properties.hasOwnProperty(\'right\')'],[-1,' ) {'],[0,' properties.width = properties.right - properties.left;'],[0,' delete properties.right;'],[-1,' }'],[-1,''],[-1,' \/\/ \u907F\u514D\u539F\u6765\u7684\u5C5E\u6027\u5F71\u54CD'],[14,' if (properties.hasOwnProperty(\'top\')'],[-1,' || properties.hasOwnProperty(\'bottom\')'],[-1,' ) {'],[14,' element.style.top = \'\';'],[14,' element.style.bottom = \'\';'],[-1,' }'],[-1,''],[14,' if (properties.hasOwnProperty(\'left\')'],[-1,' || properties.hasOwnProperty(\'right\')'],[-1,' ) {'],[14,' element.style.left = \'\';'],[14,' element.style.right = \'\';'],[-1,' }'],[-1,''],[-1,' \/\/ \u8BBE\u7F6E\u4F4D\u7F6E\u548C\u5927\u5C0F'],[14,' for (var name in properties) {'],[28,' if (properties.hasOwnProperty(name)) {'],[28,' element.style[name] = properties[name] + \'px\';'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u5C42\u5143\u7D20'],[-1,' *'],[-1,' * @param {string=} tagName \u5143\u7D20\u7684\u6807\u7B7E\u540D\uFF0C\u9ED8\u8BA4\u4E3A`div`'],[-1,' * @return {HTMLElement}'],[-1,' *\/'],[1,' layer.create = function (tagName) {'],[14,' var element = document.createElement(tagName || \'div\');'],[14,' element.style.position = \'absolute\';'],[14,' return element;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u5F53\u524D\u5C42\u79FB\u5230\u6700\u524D'],[-1,' *'],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5C42\u5143\u7D20'],[-1,' * @public'],[-1,' *\/'],[1,' layer.moveToTop = function (element) {'],[0,' element.style.zIndex = ++zIndexStack;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u79FB\u52A8\u5C42\u7684\u4F4D\u7F6E'],[-1,' *'],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5C42\u5143\u7D20'],[-1,' * @param {number} top \u4E0A\u8FB9\u754C'],[-1,' * @param {number} left \u5DE6\u8FB9\u754C'],[-1,' * @public'],[-1,' *\/'],[1,' layer.moveTo = function (element, top, left) {'],[0,' render(element, { top: top, left: left });'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u7F29\u653E\u5C42\u7684\u5927\u5C0F'],[-1,' *'],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5C42\u5143\u7D20'],[-1,' * @param {number} width \u5BBD\u5EA6'],[-1,' * @param {number} height \u9AD8\u5EA6'],[-1,' * @public'],[-1,' *\/'],[1,' layer.resize = function (element, width, height) {'],[0,' render(element, { width: width, height: height });'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u8BA9\u5F53\u524D\u5C42\u9760\u4F4F\u4E00\u4E2A\u5143\u7D20'],[-1,' *'],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5C42\u5143\u7D20'],[-1,' * @param {HTMLElement} target \u76EE\u6807\u5143\u7D20'],[-1,' * @param {Object=} options \u505C\u9760\u76F8\u5173\u7684\u9009\u9879'],[-1,' * @param {string=} options.top \u6307\u793A\u5F53\u524D\u5C42\u7684\u4E0A\u8FB9\u7F18\u9760\u4F4F\u5143\u7D20\u7684\u54EA\u4E2A\u8FB9\uFF0C'],[-1,' * \u53EF\u9009\u503C\u4E3A**top**\u6216**bottom**'],[-1,' * @param {string=} options.bottom \u6307\u793A\u5F53\u524D\u5C42\u7684\u4E0B\u8FB9\u7F18\u9760\u4F4F\u5143\u7D20\u7684\u54EA\u4E2A\u8FB9\uFF0C'],[-1,' * \u53EF\u9009\u503C\u4E3A**top**\u6216**bottom**\uFF0C* \u5F53`top`\u503C\u4E3A**bottom**\u65F6\uFF0C\u8BE5\u503C\u65E0\u6548'],[-1,' * @param {string=} options.left \u6307\u793A\u5F53\u524D\u5C42\u7684\u5DE6\u8FB9\u7F18\u9760\u4F4F\u5143\u7D20\u7684\u54EA\u4E2A\u8FB9\uFF0C'],[-1,' * \u53EF\u9009\u503C\u4E3A**left**\u6216**right**'],[-1,' * @param {string=} options.right \u6307\u793A\u5F53\u524D\u5C42\u7684\u4E0B\u8FB9\u7F18\u9760\u4F4F\u5143\u7D20\u7684\u54EA\u4E2A\u8FB9\uFF0C'],[-1,' * \u53EF\u9009\u503C\u4E3A**left**\u6216**right**\uFF0C* \u5F53`left`\u503C\u4E3A**right**\u65F6\uFF0C\u8BE5\u503C\u65E0\u6548'],[-1,' * @param {number=} options.width \u6307\u5B9A\u5C42\u7684\u5BBD\u5EA6'],[-1,' * @param {number=} options.height \u6307\u5B9A\u5C42\u7684\u9AD8\u5EA6'],[-1,' * @public'],[-1,' *\/'],[1,' layer.attachTo = function (element, target, options) {'],[14,' options = options || { left: \'left\', top: \'top\' };'],[14,' var lib = require(\'.\/lib\');'],[14,' var offset = lib.getOffset(target);'],[-1,' \/\/ \u67092\u79CD\u7279\u6B8A\u7684\u60C5\u51B5\uFF1A'],[-1,' \/\/ '],[-1,' \/\/ -`{ top: \'top\', bottom: \'bottom\' }`'],[-1,' \/\/ -`{ left: \'left\', right: \'right\' }`'],[-1,' \/\/ '],[-1,' \/\/ \u8FD9\u4E24\u79CD\u60C5\u51B5\u4E0B\uFF0C\u8981\u8BA1\u7B97\u51FA\u5BBD\u548C\u9AD8\u6765\uFF0C\u4E14\u8986\u76D6\u6389\u63D0\u4F9B\u7684\u5BBD\u9AD8'],[14,' var config = lib.clone(options);'],[14,' if (config.top === \'top\' && config.bottom === \'bottom\') {'],[0,' config.height = offset.height;'],[0,' config.bottom = null;'],[-1,' }'],[14,' if (config.left === \'left\' && config.right === \'right\') {'],[14,' config.width = offset.width;'],[14,' config.right = null;'],[-1,' }'],[-1,''],[14,' var properties = {};'],[14,' if (config.width) {'],[0,' properties.width = config.width;'],[-1,' }'],[14,' if (config.height) {'],[0,' properties.height = config.height;'],[-1,' }'],[-1,''],[14,' if (config.left) {'],[14,' properties.left = offset[config.left];'],[-1,' }'],[0,' else if (config.right) {'],[0,' properties.right = offset[config.right];'],[-1,' }'],[-1,''],[14,' if (config.top) {'],[14,' properties.top = offset[config.top];'],[-1,' }'],[0,' else if (config.bottom) {'],[0,' properties.bottom = offset[config.bottom];'],[-1,' }'],[-1,''],[14,' render(element, properties);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u5C42\u5728\u89C6\u56FE\u4E2D\u5C45\u4E2D'],[-1,' *'],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5C42\u5143\u7D20'],[-1,' * @param {Object=} options \u76F8\u5173\u914D\u7F6E\u9879'],[-1,' * @param {number=} options.width \u6307\u5B9A\u5C42\u7684\u5BBD\u5EA6'],[-1,' * @param {number=} options.height \u6307\u5B9A\u5C42\u7684\u9AD8\u5EA6'],[-1,' * @param {number=} options.minTop \u5982\u679C\u5C42\u9AD8\u5EA6\u8D85\u8FC7\u89C6\u56FE\u9AD8\u5EA6\uFF0C'],[-1,' * \u5219\u7559\u4E0B\u8BE5\u503C\u7684\u4E0A\u8FB9\u754C\u4FDD\u5E95'],[-1,' * @param {number=} options.minLeft \u5982\u679C\u5C42\u5BBD\u5EA6\u8D85\u8FC7\u89C6\u56FE\u9AD8\u5EA6\uFF0C'],[-1,' * \u5219\u7559\u4E0B\u8BE5\u503C\u7684\u5DE6\u8FB9\u754C\u4FDD\u5E95'],[-1,' * @public'],[-1,' *\/'],[1,' layer.centerToView = function (element, options) {'],[0,' var lib = require(\'.\/lib\');'],[0,' var properties = options ? lib.clone(options) : {};'],[-1,''],[0,' if (typeof properties.width !== \'number\') {'],[0,' properties.width = this.width;'],[-1,' }'],[0,' if (typeof properties.height !== \'number\') {'],[0,' properties.height = this.height;'],[-1,' }'],[-1,''],[0,' properties.left = (lib.page.getViewWidth() - properties.width) \/ 2;'],[-1,''],[0,' var viewHeight = lib.page.getViewHeight();'],[0,' if (properties.height >= viewHeight && '],[-1,' options.hasOwnProperty(\'minTop\')'],[-1,' ) {'],[0,' properties.top = options.minTop;'],[-1,' }'],[-1,' else {'],[0,' properties.top = '],[-1,' Math.floor((viewHeight - properties.height) \/ 2);'],[-1,' }'],[-1,''],[0,' var viewWidth = lib.page.getViewWidth();'],[0,' if (properties.height >= viewWidth && '],[-1,' options.hasOwnProperty(\'minLeft\')'],[-1,' ) {'],[0,' properties.left = options.minLeft;'],[-1,' }'],[-1,' else {'],[0,' properties.left = '],[-1,' Math.floor((viewWidth - properties.width) \/ 2);'],[-1,' }'],[-1,''],[0,' properties.top += lib.page.getScrollTop();'],[0,' this.setProperties(properties);'],[-1,' };'],[-1,''],[1,' return helper;'],[-1,' }'],[-1,');']] |
||||
../src/ViewContext.js | 34 | 28 | 82 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u89C6\u56FE\u73AF\u5883\u7C7B \u7528\u4E8E\u5BF9\u63A7\u4EF6\u89C6\u56FE\u7684\u7BA1\u7406'],[-1,' * @author DBear, errorrik'],[-1,' *\/'],[-1,' '],[1,'define('],[-1,' function () {'],[1,' var counter = 0x830903;'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u552F\u4E00id'],[-1,' * '],[-1,' * @inner'],[-1,' * @return {string}'],[-1,' *\/'],[1,' function getGUID() {'],[1,' return \'vt\' + counter++;'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u89C6\u56FE\u73AF\u5883\u5BF9\u8C61\u6C60'],[-1,' * '],[-1,' * @inner'],[-1,' * @type {Object}'],[-1,' *\/'],[1,' var pool = {};'],[-1,''],[-1,' \/**'],[-1,' * ViewContext\u7C7B\u58F0\u660E'],[-1,' *'],[-1,' * @constructor'],[-1,' *\/'],[1,' function ViewContext() {'],[-1,' \/**'],[-1,' * \u89C6\u56FE\u73AF\u5883\u63A7\u4EF6\u96C6\u5408'],[-1,' * '],[-1,' * @type {Object} '],[-1,' *\/'],[1,' this.controls = {};'],[-1,''],[-1,' \/**'],[-1,' * \u89C6\u56FE\u73AF\u5883id'],[-1,' * '],[-1,' * @type {string} '],[-1,' *\/'],[1,' this.id = getGUID();'],[-1,''],[-1,' \/\/ \u5165\u6C60'],[1,' pool[this.id] = this;'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u6839\u636Eid\u83B7\u53D6\u89C6\u56FE\u73AF\u5883'],[-1,' *'],[-1,' * @param {string} id \u89C6\u56FE\u73AF\u5883id'],[-1,' * @static'],[-1,' *\/'],[1,' ViewContext.get = function ( id ) {'],[0,' return pool[id] || null;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u63A7\u4EF6\u5B9E\u4F8B\u6DFB\u52A0\u5230\u89C6\u56FE\u73AF\u5883\u4E2D'],[-1,' *'],[-1,' * @param {Control} control \u5F85\u52A0\u63A7\u4EF6'],[-1,' * @public'],[-1,' *\/'],[1,' ViewContext.prototype.add = function (control) {'],[220,' var exists = this.controls[control.id];'],[-1,''],[-1,' \/\/ id\u5DF2\u5B58\u5728'],[220,' if (exists) {'],[-1,' \/\/ \u662F\u540C\u4E00\u63A7\u4EF6\uFF0C\u4E0D\u505A\u5904\u7406'],[0,' if (exists === control) {'],[0,' return;'],[-1,' }'],[-1,''],[-1,' \/\/ \u4E0D\u662F\u540C\u4E00\u63A7\u4EF6\uFF0C\u5148\u8986\u76D6\u539F\u5173\u8054\u63A7\u4EF6\u7684viewContext'],[0,' exists.setViewContext(null);'],[-1,' }'],[-1,''],[220,' this.controls[control.id] = control;'],[220,' control.setViewContext(this);'],[-1,''],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u63A7\u4EF6\u5B9E\u4F8B\u4ECE\u89C6\u56FE\u73AF\u5883\u4E2D\u79FB\u9664\u3002'],[-1,' *'],[-1,' * @param {Control} control \u5F85\u79FB\u9664\u63A7\u4EF6'],[-1,' * @public'],[-1,' *\/'],[1,' ViewContext.prototype.remove = function (control) {'],[440,' delete this.controls[control.id];'],[440,' control.setViewContext(null);'],[-1,''],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u901A\u8FC7id\u83B7\u53D6\u63A7\u4EF6\u5B9E\u4F8B\u3002 '],[-1,' *'],[-1,' * @param {string} id \u63A7\u4EF6id'],[-1,' * @return {Control} \u6839\u636Eid\u83B7\u53D6\u7684\u63A7\u4EF6'],[-1,' * @public'],[-1,' *\/'],[1,' ViewContext.prototype.get = function (id) {'],[9,' return this.controls[id];'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6E05\u9664\u89C6\u56FE\u73AF\u5883\u4E2D\u6240\u6709\u63A7\u4EF6\u3002 '],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' ViewContext.prototype.clean = function () {'],[328,' for (var id in this.controls) {'],[219,' if (this.controls.hasOwnProperty(id)) {'],[219,' var control = this.controls[id];'],[219,' this.remove(control);'],[219,' control.dispose();'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u9500\u6BC1\u89C6\u56FE\u73AF\u5883 '],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' ViewContext.prototype.dispose = function () {'],[0,' this.clean();'],[0,' delete pool[this.id];'],[-1,' };'],[-1,''],[1,' return ViewContext;'],[-1,' }'],[-1,');']] |
||||
../src/Control.js | 177 | 143 | 80 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u63A7\u4EF6\u57FA\u7C7B\u6A21\u5757'],[-1,' * @author erik, otakustay'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[1,' var lib = require(\'.\/lib\');'],[1,' var helper = require(\'.\/controlHelper\');'],[1,' var ui = require(\'.\/main\');'],[-1,''],[-1,' \/**'],[-1,' * \u63A7\u4EF6\u57FA\u7C7B'],[-1,' * '],[-1,' * @constructor'],[-1,' * @param {Object} options \u521D\u59CB\u5316\u53C2\u6570'],[-1,' *\/'],[1,' function Control(options) {'],[225,' helper.changeStage(this, \'NEW\');'],[225,' this.children = [];'],[225,' this.childrenIndex = {};'],[225,' this.states = {};'],[225,' this.events = {};'],[225,' this.domEvents = {};'],[225,' options = options || {};'],[225,' if (!options.skin) {'],[225,' options.skin = \'default\';'],[-1,' }'],[-1,''],[225,' this.main = options.main ? options.main : this.createMain(options);'],[-1,''],[-1,' \/\/ \u5982\u679C\u6CA1\u7ED9id\uFF0C\u81EA\u5DF1\u521B\u5EFA\u4E00\u4E2A\uFF0C'],[-1,' \/\/ \u8FD9\u4E2A\u6709\u53EF\u80FD\u5728\u540E\u7EED\u7684`initOptions`\u4E2D\u88AB\u91CD\u5199\uFF0C\u5219\u4F1A\u5728`setProperties`\u4E2D\u5904\u7406\uFF0C'],[-1,' \/\/ \u8FD9\u4E2A\u4E0D\u80FD\u653E\u5230`initOptions`\u7684\u540E\u9762\uFF0C'],[-1,' \/\/ \u4E0D\u7136\u4F1A\u5BFC\u81F4\u5F88\u591A\u4E2A\u6CA1\u6709id\u7684\u63A7\u4EF6\u653E\u5230\u4E00\u4E2A`ViewContext`\u4E2D\uFF0C'],[-1,' \/\/ \u4F1A\u628A\u5176\u5B83\u63A7\u4EF6\u7684`ViewContext`\u7ED9\u51B2\u6389\u5BFC\u81F4\u5404\u79CD\u9519\u8BEF'],[225,' if (!this.id && !options.id) {'],[216,' this.id = helper.getGUID();'],[-1,' }'],[-1,''],[225,' this.initOptions(options);'],[-1,''],[-1,' \/\/ \u521D\u59CB\u5316\u89C6\u56FE\u73AF\u5883'],[220,' helper.initViewContext(this);'],[-1,''],[-1,' \/\/ \u521D\u59CB\u5316\u6269\u5C55'],[220,' helper.initExtensions(this);'],[-1,''],[-1,' \/\/ \u5207\u6362\u63A7\u4EF6\u6240\u5C5E\u751F\u547D\u5468\u671F\u9636\u6BB5'],[220,' helper.changeStage(this, \'INITED\');'],[-1,''],[220,' this.fire(\'init\');'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u63A7\u4EF6\u751F\u547D\u5468\u671F\u679A\u4E3E'],[-1,' * '],[-1,' * @static'],[-1,' * @type {Object}'],[-1,' *\/'],[1,' Control.LifeCycle = {'],[-1,' NEW: 0,'],[-1,' INITED: 1,'],[-1,' RENDERED: 2,'],[-1,' DISPOSED: 4'],[-1,' };'],[-1,''],[1,' Control.prototype = {'],[-1,' constructor: Control,'],[-1,''],[-1,' \/**'],[-1,' * \u6307\u5B9A\u5728\u54EA\u4E9B\u72B6\u6001\u4E0B\u8BE5\u5143\u7D20\u4E0D\u5904\u7406\u76F8\u5173\u7684DOM\u4E8B\u4EF6'],[-1,' *'],[-1,' * @type {Array.<string>}'],[-1,' * @protected'],[-1,' *\/'],[-1,' ignoreStates: [\'disabled\'],'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316\u63A7\u4EF6\u9700\u8981\u4F7F\u7528\u7684\u9009\u9879'],[-1,' *'],[-1,' * @param {Object=} options \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u9009\u9879'],[-1,' * @protected'],[-1,' *\/'],[-1,' initOptions: function (options) {'],[20,' options = options || {};'],[20,' this.setProperties(options);'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u63A7\u4EF6\u4E3B\u5143\u7D20'],[-1,' * '],[-1,' * @return {HTMLElement}'],[-1,' * @protected'],[-1,' *\/'],[-1,' createMain: function () {'],[20,' return document.createElement(\'div\');'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316DOM\u7ED3\u6784\uFF0C\u4EC5\u5728\u7B2C\u4E00\u6B21\u6E32\u67D3\u65F6\u8C03\u7528'],[-1,' *\/'],[-1,' initStructure: function () {'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u6E32\u67D3\u63A7\u4EF6'],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[-1,' render: function () {'],[160,' if (helper.isInStage(this, \'INITED\')) {'],[160,' this.fire(\'beforerender\');'],[-1,''],[160,' this.initStructure();'],[-1,''],[-1,' \/\/ \u4E3A\u63A7\u4EF6\u4E3B\u5143\u7D20\u6DFB\u52A0id'],[160,' if (!this.main.id) {'],[160,' this.main.id = helper.getId(this);'],[-1,' }'],[-1,''],[-1,' \/\/ \u4E3A\u63A7\u4EF6\u4E3B\u5143\u7D20\u6DFB\u52A0\u63A7\u4EF6\u5B9E\u4F8B\u6807\u8BC6\u5C5E\u6027'],[160,' this.main.setAttribute( '],[-1,' ui.getConfig(\'instanceAttr\'), '],[-1,' this.id '],[-1,' );'],[160,' this.main.setAttribute( '],[-1,' ui.getConfig(\'viewContextAttr\'), '],[-1,' this.viewContext.id '],[-1,' );'],[-1,''],[160,' helper.addPartClasses(this);'],[-1,' }'],[-1,''],[-1,' \/\/ \u7531\u5B50\u63A7\u4EF6\u5B9E\u73B0'],[160,' this.repaint();'],[-1,''],[160,' if (helper.isInStage(this, \'INITED\')) {'],[160,' this.fire(\'afterrender\');'],[-1,' }'],[-1,''],[-1,' \/\/ \u5207\u6362\u63A7\u4EF6\u6240\u5C5E\u751F\u547D\u5468\u671F\u9636\u6BB5'],[160,' helper.changeStage(this, \'RENDERED\');'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u91CD\u65B0\u6E32\u67D3\u89C6\u56FE'],[-1,' * \u4EC5\u5F53\u751F\u547D\u5468\u671F\u5904\u4E8ERENDER\u65F6\uFF0C\u8BE5\u65B9\u6CD5\u624D\u91CD\u65B0\u6E32\u67D3'],[-1,' *'],[-1,' * @param {Array=} \u53D8\u66F4\u8FC7\u7684\u5C5E\u6027\u7684\u96C6\u5408'],[-1,' * @param {Object=} \u53D8\u66F4\u8FC7\u7684\u5C5E\u6027\u7684\u7D22\u5F15'],[-1,' * @protected'],[-1,' *\/'],[-1,' repaint: function (changes, changesIndex) {'],[132,' if (!changesIndex'],[-1,' || changesIndex.hasOwnProperty(\'disabled\')'],[-1,' ) {'],[73,' var method = this.disabled ? \'addState\' : \'removeState\';'],[73,' this[method](\'disabled\');'],[-1,' }'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u63A7\u4EF6\u6DFB\u52A0\u5230\u9875\u9762\u7684\u67D0\u4E2A\u5143\u7D20\u4E2D'],[-1,' * '],[-1,' * @param {HTMLElement} wrap \u63A7\u4EF6\u8981\u6DFB\u52A0\u5230\u7684\u76EE\u6807\u5143\u7D20'],[-1,' * @public'],[-1,' *\/'],[-1,' appendTo: function (wrap) {'],[151,' wrap.appendChild(this.main);'],[151,' this.render();'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u63A7\u4EF6\u6DFB\u52A0\u5230\u9875\u9762\u7684\u67D0\u4E2A\u5143\u7D20\u4E4B\u524D'],[-1,' * '],[-1,' * @param {HTMLElement} reference \u63A7\u4EF6\u8981\u6DFB\u52A0\u5230\u4E4B\u524D\u7684\u76EE\u6807\u5143\u7D20'],[-1,' * @public'],[-1,' *\/'],[-1,' insertBefore: function (reference) {'],[0,' reference.parentNode.appendChild(this.main, reference);'],[0,' this.render();'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u9500\u6BC1\u91CA\u653E\u63A7\u4EF6'],[-1,' * @public'],[-1,' *\/'],[-1,' dispose: function () {'],[220,' helper.beforeDispose(this);'],[220,' helper.dispose(this);'],[220,' helper.afterDispose(this);'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u63A7\u4EF6\u7684\u5C5E\u6027\u503C'],[-1,' * '],[-1,' * @param {string} name \u5C5E\u6027\u540D'],[-1,' * @return {*}'],[-1,' * @public'],[-1,' *\/'],[-1,' get: function (name) {'],[82,' var method = this[\'get\' + lib.pascalize(name)];'],[-1,''],[82,' if (typeof method == \'function\') {'],[3,' return method.call(this);'],[-1,' }'],[-1,' '],[79,' return this[name];'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u63A7\u4EF6\u7684\u5C5E\u6027\u503C'],[-1,' * '],[-1,' * @param {string} name \u5C5E\u6027\u540D'],[-1,' * @param {*} value \u5C5E\u6027\u503C'],[-1,' * @public'],[-1,' *\/'],[-1,' set: function (name, value) {'],[41,' var method = this[\'set\' + lib.pascalize(name)];'],[-1,''],[41,' if (typeof method == \'function\') {'],[3,' return method.call(this, value);'],[-1,' }'],[-1,''],[38,' var property = {};'],[38,' property[name] = value;'],[38,' this.setProperties(property);'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u6279\u91CF\u8BBE\u7F6E\u63A7\u4EF6\u7684\u5C5E\u6027\u503C'],[-1,' * '],[-1,' * @param {Object} properties \u5C5E\u6027\u503C\u96C6\u5408'],[-1,' *\/'],[-1,' setProperties: function (properties) {'],[-1,' \/\/ \u53EA\u6709\u5728\u6E32\u67D3\u4EE5\u524D\uFF08\u5C31\u662F`initOptions`\u8C03\u7528\u7684\u90A3\u6B21\uFF09\u624D\u5141\u8BB8\u8BBE\u7F6Eid'],[253,' if (properties.hasOwnProperty(\'id\')) {'],[3,' if (!this.stage) {'],[3,' this.id = properties.id;'],[-1,' }'],[3,' delete properties.id;'],[-1,' }'],[-1,''],[-1,' \/\/ \u541E\u6389`viewContext`\u7684\u8BBE\u7F6E\uFF0C\u903B\u8F91\u90FD\u5728`setViewContext`\u4E2D'],[253,' if (properties.hasOwnProperty(\'viewContext\')) {'],[3,' this.setViewContext(properties.viewContext);'],[3,' delete properties.viewContext;'],[-1,' }'],[-1,''],[253,' var changes = [];'],[253,' var changesIndex = {};'],[253,' for (var key in properties) {'],[928,' if (properties.hasOwnProperty(key)) {'],[928,' var oldValue = this[key];'],[928,' var newValue = properties[key];'],[928,' if (oldValue !== newValue) {'],[669,' this[key] = newValue;'],[669,' var record = {'],[-1,' name: key,'],[-1,' oldValue: oldValue,'],[-1,' newValue: newValue'],[-1,' };'],[669,' changes.push(record);'],[669,' changesIndex[key] = record;'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[253,' if (changes.length && helper.isInStage(this, \'RENDERED\')) {'],[82,' this.repaint(changes, changesIndex);'],[-1,' }'],[-1,''],[253,' return changesIndex;'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u63A7\u4EF6\u7684\u6240\u5C5E\u89C6\u56FE\u73AF\u5883'],[-1,' * '],[-1,' * @param {ViewContext} viewContext \u89C6\u56FE\u73AF\u5883'],[-1,' *\/'],[-1,' setViewContext: function (viewContext) {'],[-1,' \/\/ \u4E3A\u4E86\u907F\u514D\u7A0B\u5E8F\u6D41\u8F6C\uFF0C\u964D\u4F4E\u6027\u80FD\uFF0C\u4EE5\u53CA\u6B7B\u5FAA\u73AF\uFF0C\u505A\u4E00\u6B21\u5224\u65AD'],[883,' var oldViewContext = this.viewContext;'],[883,' if (oldViewContext == viewContext) {'],[443,' return;'],[-1,' }'],[-1,''],[-1,' \/\/ \u4ECE\u8001\u89C6\u56FE\u73AF\u5883\u4E2D\u6E05\u9664'],[440,' if (oldViewContext) {'],[220,' this.viewContext = null;'],[220,' oldViewContext.remove(this);'],[-1,' }'],[-1,''],[-1,' \/\/ \u6CE8\u518C\u5230\u65B0\u89C6\u56FE\u73AF\u5883'],[440,' this.viewContext = viewContext;'],[440,' viewContext && viewContext.add(this);'],[-1,''],[-1,' \/\/ \u5207\u6362\u5B50\u63A7\u4EF6\u7684\u89C6\u56FE\u73AF\u5883'],[440,' var children = this.children;'],[440,' if (children) {'],[439,' for (var i = 0, len = children.length; i < len; i++) {'],[0,' children[i].setViewContext(viewContext);'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/\/ \u5728\u4E3B\u5143\u7D20\u4E0A\u52A0\u4E2A\u5C5E\u6027\uFF0C\u4EE5\u4FBF\u627E\u5230`ViewContext`'],[440,' if (this.viewContext && helper.isInStage(this, \'RENDERED\')) {'],[0,' this.main.setAttribute( '],[-1,' ui.getConfig(\'viewContextAttr\'), '],[-1,' this.viewContext.id '],[-1,' );'],[-1,' }'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u63A7\u4EF6\u7981\u7528\u72B6\u6001'],[-1,' *\/'],[-1,' setDisabled: function (disabled) {'],[0,' this[disabled ? \'disable\' : \'enable\']();'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u63A7\u4EF6\u72B6\u6001\u4E3A\u7981\u7528'],[-1,' *\/'],[-1,' disable: function () {'],[1,' this.addState(\'disabled\');'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u63A7\u4EF6\u72B6\u6001\u4E3A\u542F\u7528'],[-1,' *\/'],[-1,' enable: function () {'],[2,' this.removeState(\'disabled\');'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u5224\u65AD\u63A7\u4EF6\u662F\u5426\u4E0D\u53EF\u7528'],[-1,' * '],[-1,' * @return {boolean}'],[-1,' *\/'],[-1,' isDisabled: function () {'],[0,' return this.hasState(\'disabled\');'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u63A7\u4EF6\u72B6\u6001\u4E3A\u53EF\u89C1'],[-1,' *\/'],[-1,' show: function () {'],[0,' this.removeState(\'hidden\');'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u63A7\u4EF6\u72B6\u6001\u4E3A\u4E0D\u53EF\u89C1'],[-1,' *\/'],[-1,' hide: function () {'],[1,' this.addState(\'hidden\');'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u5207\u6362\u63A7\u4EF6\u53EF\u89C1\u72B6\u6001'],[-1,' *\/'],[-1,' toggle: function () {'],[0,' this[this.isHidden() ? \'show\' : \'hide\']();'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u5224\u65AD\u63A7\u4EF6\u662F\u5426\u4E0D\u53EF\u89C1'],[-1,' * '],[-1,' * @return {boolean}'],[-1,' *\/'],[-1,' isHidden: function () {'],[0,' return this.hasState(\'hidden\');'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u6DFB\u52A0\u63A7\u4EF6\u72B6\u6001'],[-1,' * '],[-1,' * @param {string} state \u72B6\u6001\u540D'],[-1,' *\/'],[-1,' addState: function (state) {'],[25,' if (!this.hasState(state)) {'],[23,' this.states[state] = 1;'],[23,' helper.addStateClasses(this, state);'],[23,' var properties = {};'],[23,' properties[state] = true;'],[23,' this.setProperties(properties);'],[-1,' }'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u79FB\u9664\u63A7\u4EF6\u72B6\u6001'],[-1,' * '],[-1,' * @param {string} state \u72B6\u6001\u540D'],[-1,' *\/'],[-1,' removeState: function (state) {'],[129,' if (this.hasState(state)) {'],[6,' delete this.states[state];'],[6,' helper.removeStateClasses(this, state);'],[6,' var properties = {};'],[6,' properties[state] = false;'],[6,' this.setProperties(properties);'],[-1,' }'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u5207\u6362\u63A7\u4EF6\u6307\u5B9A\u72B6\u6001'],[-1,' * '],[-1,' * @param {string} state \u72B6\u6001\u540D'],[-1,' *\/'],[-1,' toggleState: function (state) {'],[0,' var methodName = this.hasState(state)'],[-1,' ? \'removeState\''],[-1,' : \'addState\';'],[-1,' '],[0,' this[methodName](state);'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u5224\u65AD\u63A7\u4EF6\u662F\u5426\u5904\u4E8E\u6307\u5B9A\u72B6\u6001'],[-1,' * '],[-1,' * @param {string} state \u72B6\u6001\u540D'],[-1,' * @return {boolean}'],[-1,' *\/'],[-1,' hasState: function (state) {'],[200,' return this.states[state];'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u6DFB\u52A0\u5B50\u63A7\u4EF6'],[-1,' * '],[-1,' * @param {Control} control \u5B50\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @param {string=} childName \u5B50\u63A7\u4EF6\u540D'],[-1,' *\/'],[-1,' addChild: function (control, childName) {'],[0,' childName = childName || control.childName;'],[-1,''],[0,' if (control.parent) {'],[0,' control.parent.removeChild(control);'],[-1,' }'],[-1,''],[0,' this.children.push(control);'],[0,' control.parent = this;'],[-1,''],[0,' if (childName) {'],[0,' control.childName = childName;'],[0,' this.childrenIndex[childName] = control;'],[-1,' }'],[-1,''],[-1,' \/\/ \u5C06\u5B50\u89C6\u56FE\u73AF\u5883\u8BBE\u7F6E\u4E0E\u7236\u63A7\u4EF6\u4E00\u81F4'],[0,' if (this.viewContext != control.viewContext) {'],[0,' control.setViewContext(this.viewContext);'],[-1,' }'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u79FB\u9664\u5B50\u63A7\u4EF6'],[-1,' * '],[-1,' * @param {Control} control \u5B50\u63A7\u4EF6\u5B9E\u4F8B'],[-1,' *\/'],[-1,' removeChild: function (control) {'],[-1,' \/\/ \u4ECE\u63A7\u4EF6\u6811\u5BB9\u5668\u4E2D\u79FB\u9664'],[0,' var children = this.children;'],[0,' var len = children.length;'],[0,' while (len--) {'],[0,' if (children[len] === control) {'],[0,' children.splice(len, 1);'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/\/ \u4ECE\u5177\u540D\u5B50\u63A7\u4EF6\u7D22\u5F15\u4E2D\u79FB\u9664'],[0,' var childName = control.childName;'],[0,' if (childName) {'],[0,' this.childrenIndex[childName] = null;'],[-1,' }'],[-1,''],[0,' control.parent = null;'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u79FB\u9664\u5168\u90E8\u5B50\u63A7\u4EF6'],[-1,' *\/'],[-1,' disposeChildren: function () {'],[227,' for (var i = 0; i < this.children.length; i++) {'],[0,' this.children[i].dispose();'],[-1,' }'],[227,' this.children = [];'],[227,' this.childrenIndex = {};'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u5B50\u63A7\u4EF6'],[-1,' * '],[-1,' * @param {string} childName \u5B50\u63A7\u4EF6\u540D'],[-1,' * @return {Control}'],[-1,' *\/'],[-1,' getChild: function (childName) {'],[0,' return this.childrenIndex[childName] || null;'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u6279\u91CF\u521D\u59CB\u5316\u5B50\u63A7\u4EF6'],[-1,' * '],[-1,' * @param {HTMLElement=} wrap \u5BB9\u5668DOM\u5143\u7D20\uFF0C\u9ED8\u8BA4\u4E3A\u4E3B\u5143\u7D20'],[-1,' * @param {Object=} options init\u53C2\u6570'],[-1,' * @param {Object=} options.properties \u5C5E\u6027\u96C6\u5408\uFF0C\u901A\u8FC7id\u6620\u5C04'],[-1,' *\/'],[-1,' initChildren: function (wrap, options) {'],[7,' wrap = wrap || this.main;'],[7,' options = options || {};'],[7,' options.viewContext = this.viewContext;'],[-1,''],[7,' var children = ui.init(wrap, options);'],[7,' for (var i = 0, len = children.length; i < len; i++) {'],[0,' this.addChild(children[i]);'],[-1,' }'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u6DFB\u52A0\u4E8B\u4EF6\u76D1\u542C\u5668'],[-1,' * '],[-1,' * @param {string} type \u4E8B\u4EF6\u7C7B\u578B\uFF0C`*`\u4E3A\u6240\u6709\u4E8B\u4EF6 '],[-1,' * @param {Function} listener \u4E8B\u4EF6\u76D1\u542C\u5668'],[-1,' *\/'],[-1,' on: function (type, listener) {'],[83,' var listeners = this.events[type];'],[83,' if (!listeners) {'],[81,' listeners = this.events[type] = [];'],[-1,' }'],[-1,''],[83,' listeners.push(listener);'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u79FB\u9664\u4E8B\u4EF6\u76D1\u542C\u5668'],[-1,' * '],[-1,' * @param {string} type \u4E8B\u4EF6\u7C7B\u578B\uFF0C`*`\u4E3A\u6240\u6709\u4E8B\u4EF6 '],[-1,' * @param {Function=} listener \u4E8B\u4EF6\u76D1\u542C\u5668'],[-1,' *\/'],[-1,' un: function (type, listener) {'],[3,' var listeners = this.events[type];'],[-1,''],[3,' if (listeners instanceof Array) {'],[2,' if (listener) {'],[1,' var len = listeners.length;'],[1,' while (len--) {'],[1,' if (listeners[len] === listener) {'],[1,' listeners.splice(len, 1);'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,' else {'],[1,' listeners.length = 0;'],[-1,' }'],[-1,' }'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u6D3E\u53D1\u4E8B\u4EF6'],[-1,' * '],[-1,' * @param {string} type \u4E8B\u4EF6\u7C7B\u578B'],[-1,' * @param {Object=} arg \u4E8B\u4EF6\u5BF9\u8C61'],[-1,' *\/'],[-1,' fire: function (type, arg) {'],[-1,' \/\/ \u6784\u9020\u51FD\u6570\u9636\u6BB5\u4E0D\u53D1\u9001\u4EFB\u4F55\u4E8B\u4EF6'],[1222,' if (helper.isInStage(this, \'NEW\')) {'],[98,' return;'],[-1,' }'],[-1,''],[-1,' \/\/ \u6784\u9020event argument'],[1124,' var eventArg = arg || {};'],[1124,' eventArg.type = type;'],[-1,''],[-1,' \/\/ \u5148\u8C03\u7528\u76F4\u63A5\u5199\u5728\u5B9E\u4F8B\u4E0A\u7684\"onxxx\"'],[1124,' var me = this;'],[1124,' var handler = me[\'on\' + type];'],[1124,' if (typeof handler == \'function\') {'],[0,' handler.call(me, eventArg);'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u8C03\u7528listeners'],[-1,' * '],[-1,' * @inner'],[-1,' * @param {Array.<Function>} listeners \u76D1\u542C\u5668\u6570\u7EC4'],[-1,' *\/'],[1124,' function callListeners(listeners) {'],[2248,' if (listeners instanceof Array) {'],[87,' for (var i = 0, len = listeners.length; i < len; i++) {'],[87,' var listener = listeners[i];'],[87,' if (typeof listener == \'function\') {'],[87,' listener.call(me, eventArg);'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/\/ \u8C03\u7528listeners'],[1124,' var events = me.events;'],[-1,' '],[1124,' callListeners(events[type]);'],[1124,' callListeners(events[\'*\']);'],[-1,' }'],[-1,' };'],[-1,''],[1,' return Control;'],[-1,' }'],[-1,');']] |
||||
../src/Extension.js | 24 | 18 | 75 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u6269\u5C55\u57FA\u7C7B'],[-1,' * @author otakustay'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[1,' var lib = require(\'.\/lib\');'],[-1,''],[-1,' \/**'],[-1,' * \u6269\u5C55\u57FA\u7C7B'],[-1,' *'],[-1,' * @constructor'],[-1,' * @param {Object=} options \u521D\u59CB\u5316\u7684\u53C2\u6570'],[-1,' *\/'],[1,' function Extension(options) {'],[8,' lib.extend(this, options);'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u5F53\u524D\u6269\u5C55\u5B9E\u4F8B\u5E94\u7528\u7684\u63A7\u4EF6\u5BF9\u8C61'],[-1,' *'],[-1,' * @type {Control}'],[-1,' * @private'],[-1,' *\/'],[1,' Extension.prototype.target = null;'],[-1,''],[-1,' \/**'],[-1,' * \u5F53\u524D\u6269\u5C55\u5B9E\u4F8B\u662F\u5426\u5904\u4E8E\u6FC0\u6D3B\u72B6\u6001'],[-1,' *'],[-1,' * @type {boolean}'],[-1,' * @private'],[-1,' *\/'],[1,' Extension.prototype.active = false;'],[-1,''],[-1,' \/**'],[-1,' * \u5224\u65AD\u5F53\u524D\u5B9E\u4F8B\u662F\u5426\u5904\u4E8E\u6FC0\u6D3B\u72B6\u6001'],[-1,' *'],[-1,' * @return {boolean} \u5982\u679C\u5904\u4E8E\u6FC0\u6D3B\u72B6\u6001\u5219\u8FD4\u56DEtrue'],[-1,' * @public'],[-1,' *\/'],[1,' Extension.prototype.isActive = function () {'],[0,' return this.active;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6FC0\u6D3B\u5F53\u524D\u6269\u5C55'],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' Extension.prototype.activate = function () {'],[7,' this.active = true;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u7981\u7528\u5F53\u524D\u6269\u5C55'],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' Extension.prototype.inactivate = function () {'],[2,' this.active = false;'],[-1,' };'],[-1,''],[1,' Extension.prototype.attachTo = function (target) {'],[-1,' \/\/ \u4E8B\u5B9E\u4E0A\u6211\u4EEC\u4E0D\u5E0C\u671B\u4E00\u4E2A\u6269\u5C55\u5B9E\u4F8B\u88AB\u591A\u6548\u9644\u52A0\u5230\u63A7\u4EF6\u4E0A\uFF0C'],[-1,' \/\/ \u6240\u4EE5\u867D\u7136\u4F60\u770B\u5230\u4E86\u8FD9\u6BB5\u4EE3\u7801\uFF0C\u4F46\u6700\u597D\u522B\u8FD9\u4E48\u4E71\u6765\uFF0C'],[-1,' \/\/ \u6211\u4EEC\u65E0\u6CD5\u4FDD\u8BC1\u6240\u6709\u7684\u6269\u5C55`inactivate()`\u80FD\u6E05\u7406\u5E72\u51C0\u4E1C\u897F'],[7,' if (this.target && this.target !== target) {'],[0,' if (this.active) {'],[0,' this.inactivate();'],[-1,' }'],[-1,' }'],[-1,''],[7,' this.target = target;'],[-1,' \/\/ \u4EC5\u5728\u4F20\u5165\u7684`target`\u548C`this.target`\u76F8\u540C\uFF0C'],[-1,' \/\/ \u4E14\u539F\u6765\u5C31\u6FC0\u6D3B\u65F6\uFF0C\u624D\u4F1A\u8DF3\u8FC7\u8FD9\u4E2A\u5206\u652F'],[7,' if (!this.active) {'],[7,' this.activate();'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u9500\u6BC1\u5F53\u524D\u5B9E\u4F8B'],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' Extension.prototype.dispose = function () {'],[0,' if (this.active) {'],[0,' this.inactivate();'],[-1,' }'],[0,' this.target = null;'],[-1,' };'],[-1,''],[1,' return Extension;'],[-1,' }'],[-1,');']] |
||||
../src/main.js | 171 | 127 | 74 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u4E3B\u6A21\u5757'],[-1,' * @author erik'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[3,' var lib = require(\'.\/lib\');'],[2,' var main = {};'],[-1,''],[2,' var ViewContext = require(\'.\/ViewContext\');'],[1,' var defaultViewContext = new ViewContext();'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u9ED8\u8BA4\u7684\u63A7\u4EF6\u89C6\u56FE\u73AF\u5883'],[-1,' * '],[-1,' * @return {ViewContext}'],[-1,' *\/'],[1,' main.getViewContext = function () {'],[556,' return defaultViewContext;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u63A7\u4EF6\u5E93\u914D\u7F6E\u6570\u636E'],[-1,' * '],[-1,' * @inner'],[-1,' * @type {Object}'],[-1,' *\/'],[1,' var config = {'],[-1,' uiPrefix: \'data-ui\','],[-1,' extensionPrefix: \'data-ui-extension\','],[-1,' instanceAttr: \'data-ctrl-id\','],[-1,' viewContextAttr: \'data-ctrl-view-context\','],[-1,' uiClassPrefix: \'ui\','],[-1,' skinClassPrefix: \'skin\','],[-1,' stateClassPrefix: \'state\''],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u914D\u7F6E\u63A7\u4EF6\u5E93'],[-1,' * '],[-1,' * @param {Object} info \u63A7\u4EF6\u5E93\u914D\u7F6E\u4FE1\u606F\u5BF9\u8C61'],[-1,' *\/'],[1,' main.config = function (info) {'],[0,' lib.extend(config, info);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u914D\u7F6E\u9879'],[-1,' * '],[-1,' * @param {string} name \u914D\u7F6E\u9879\u540D\u79F0'],[-1,' *\/'],[1,' main.getConfig = function (name) {'],[1972,' return config[name];'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\"name:value[;name:value]\"\u7684\u5C5E\u6027\u503C\u89E3\u6790\u6210Object'],[-1,' * '],[-1,' * @param {string} source \u5C5E\u6027\u503C\u6E90\u5B57\u7B26\u4E32'],[-1,' * @param {function=} \u66FF\u6362\u503C\u7684\u5904\u7406\u51FD\u6570'],[-1,' * @return {Object}'],[-1,' *\/'],[1,' main.parseAttribute = function (source, valueReplacer) {'],[14,' if (!source) {'],[5,' return {};'],[-1,' }'],[-1,' \/\/ \u4E3A\u4E86\u8BA9key\u548Cvalue\u4E2D\u6709`:`\u6216`;`\u8FD9\u7C7B\u5206\u9694\u7B26\u65F6\u80FD\u6B63\u5E38\u5DE5\u4F5C\uFF0C\u4E0D\u91C7\u7528\u6B63\u5219'],[-1,' \/\/ '],[-1,' \/\/ \u5206\u6790\u7684\u539F\u5219\u662F\uFF1A'],[-1,' \/\/ '],[-1,' \/\/ 1. \u627E\u5230\u7B2C1\u4E2A\u5192\u53F7\uFF0C\u53D6\u524D\u9762\u90E8\u5206\u4E3Akey'],[-1,' \/\/ 2. \u627E\u4E0B\u4E2A\u65E9\u53F7\u524D\u7684\u6700\u540E\u4E00\u4E2A\u5206\u53F7\uFF0C\u53D6\u524D\u9762\u90E8\u5206\u4E3Avalue'],[-1,' \/\/ 3. \u5982\u679C\u5B57\u7B26\u4E32\u6CA1\u7ED3\u675F\uFF0C\u56DE\u5230\u7B2C1\u6B65'],[9,' var result = {}; \/\/ \u4FDD\u5B58\u7ED3\u679C'],[9,' var lastStop = 0; \/\/ \u4E0A\u6B21\u627E\u5B8C\u65F6\u505C\u4E0B\u7684\u4F4D\u7F6E\uFF0C\u5206\u9694\u5B57\u7B26\u4E32\u7528'],[9,' var cursor = 0; \/\/ \u5F53\u524D\u68C0\u7D22\u5230\u7684\u5B57\u7B26'],[-1,' \/\/ \u4E3A\u4E86\u4FDD\u8BC1\u53EA\u7528\u4E00\u4E2A`source`\u4E32\u5C31\u641E\u5B9A\uFF0C\u4E0B\u9762\u4F1A\u6D89\u53CA\u5230\u5F88\u591A\u7684\u6E38\u6807\uFF0C'],[-1,' \/\/ \u7B80\u5355\u7684\u65B9\u6CD5\u662F\u6BCF\u6B21\u622A\u5B8C\u4E00\u6BB5\u540E\u628A`soruce`\u622A\u8FC7\u7684\u90E8\u5206\u53BB\u6389\uFF0C'],[-1,' \/\/ \u4E0D\u8FC7\u8FD9\u4E48\u505A\u4F1A\u9891\u7E41\u5206\u914D\u5B57\u7B26\u4E32\u5BF9\u8C61\uFF0C\u6240\u4EE5\u4F18\u5316\u4E86\u4E00\u4E0B\u4FDD\u8BC1`source`\u4E0D\u53D8'],[9,' while (cursor < source.length) {'],[-1,' \/\/ \u627Ekey\uFF0C\u627E\u5230\u7B2C1\u4E2A\u5192\u53F7'],[18,' while (cursor < source.length'],[-1,' && source.charAt(cursor) !== \':\''],[-1,' ) {'],[53,' cursor++;'],[-1,' }'],[-1,' \/\/ \u5982\u679C\u627E\u5230\u5C3E\u4E5F\u6CA1\u627E\u5230\u5192\u53F7\uFF0C\u90A3\u5C31\u662F\u6700\u540E\u6709\u4E00\u6BB5\u975E\u952E\u503C\u5BF9\u7684\u5B57\u7B26\u4E32\uFF0C\u4E22\u6389'],[18,' if (cursor >= source.length) {'],[0,' break;'],[-1,' }'],[-1,' \/\/ \u628Akey\u622A\u51FA\u6765'],[18,' var key = lib.trim(source.slice(lastStop, cursor));'],[-1,' \/\/ \u79FB\u5230\u5192\u53F7\u540E\u9762\u4E00\u4E2A\u5B57\u7B26'],[18,' cursor++;'],[-1,' \/\/ \u4E0B\u6B21\u5207\u5206\u5C31\u4ECE\u8FD9\u4E2A\u5B57\u7B26\u5F00\u59CB\u4E86'],[18,' lastStop = cursor;'],[-1,' \/\/ \u627Evalue\uFF0C\u8981\u627E\u6700\u540E\u4E00\u4E2A\u5206\u53F7\uFF0C\u8FD9\u91CC\u5C31\u9700\u8981\u524D\u6EAF\u4E86\uFF0C\u5148\u627E\u5230\u7B2C1\u4E2A\u5206\u53F7'],[18,' while (cursor < source.length'],[-1,' && source.charAt(cursor) !== \';\''],[-1,' ) {'],[94,' cursor++;'],[-1,' }'],[-1,' \/\/ \u7136\u540E\u505A\u524D\u6EAF\u4E00\u76F4\u5230\u4E0B\u4E00\u4E2A\u5192\u53F7'],[18,' var lookAheadIndex = cursor + 1;'],[18,' while (lookAheadIndex < source.length) {'],[29,' var ch = source.charAt(lookAheadIndex);'],[-1,' \/\/ \u5982\u679C\u5728\u4E2D\u9014\u8FD8\u53D1\u73B0\u6709\u5206\u53F7\uFF0C\u628A\u6E38\u6807\u79FB\u8FC7\u6765'],[29,' if (ch === \';\') {'],[0,' cursor = lookAheadIndex;'],[-1,' }'],[-1,' \/\/ \u5982\u679C\u53D1\u73B0\u4E86\u5192\u53F7\uFF0C\u5219\u4E0A\u6B21\u7684\u6E38\u6807\u5C31\u662F\u6700\u540E\u4E00\u4E2A\u5206\u53F7\u4E86'],[29,' if (ch === \':\') {'],[9,' break;'],[-1,' }'],[20,' lookAheadIndex++;'],[-1,' }'],[-1,' \/\/ \u628Avalue\u622A\u51FA\u6765\uFF0C\u8FD9\u91CC\u6CA1\u6709\u548Ckey\u4E00\u6837\u5224\u65AD\u662F\u5426\u5DF2\u7ECF\u8DD1\u5230\u5C3E\uFF0C'],[-1,' \/\/ \u662F\u56E0\u4E3A\u6211\u4EEC\u5141\u8BB8\u6700\u540E\u4E00\u4E2A\u952E\u503C\u5BF9\u6CA1\u6709\u5206\u53F7\u7ED3\u675F\uFF0C'],[-1,' \/\/ \u4F46\u662F\u4F1A\u9047\u4E0A`key:`\u8FD9\u6837\u7684\u4E32\uFF0C\u5373\u53EA\u6709\u952E\u6CA1\u6709\u503C\uFF0C'],[-1,' \/\/ \u8FD9\u65F6\u6211\u4EEC\u5C31\u8BA4\u4E3A\u503C\u662F\u4E2A\u7A7A\u5B57\u7B26\u4E32\u4E86'],[18,' var value = lib.trim(source.slice(lastStop, cursor));'],[-1,' \/\/ \u52A0\u5165\u5230\u7ED3\u679C\u4E2D'],[18,' result[key] = valueReplacer ? valueReplacer(value) : value;'],[-1,' \/\/ \u518D\u5F80\u524D\u8FDB\u4E00\u683C\uFF0C\u5F00\u59CB\u4E0B\u4E00\u6B21\u67E5\u627E'],[18,' cursor++;'],[18,' lastStop = cursor;'],[-1,' }'],[-1,''],[9,' return result;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5BFB\u627Edom\u5143\u7D20\u6240\u5BF9\u5E94\u7684\u63A7\u4EF6'],[-1,' * '],[-1,' * @public'],[-1,' * @param {HTMLElement} dom dom\u5143\u7D20'],[-1,' * @return {Control}'],[-1,' *\/'],[1,' main.getControlByDOM = function ( dom ) {'],[0,' if ( !dom ) {'],[0,' return null;'],[-1,' }'],[-1,''],[0,' var getConf = main.getConfig;'],[-1,''],[0,' var controlId = dom.getAttribute( getConf(\'instanceAttr\') );'],[0,' var viewContextId = dom.getAttribute( getConf(\'viewContextAttr\') );'],[0,' var viewContext;'],[-1,''],[0,' if (controlId '],[-1,' && viewContextId '],[-1,' && (viewContext = ViewContext.get( viewContextId ))'],[-1,' ) {'],[0,' return viewContext.get(controlId);'],[-1,' }'],[0,' return null;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6CE8\u518C\u7C7B\u3002\u7528\u4E8E\u63A7\u4EF6\u7C7B\u3001\u89C4\u5219\u7C7B\u6216\u6269\u5C55\u7C7B\u6CE8\u518C'],[-1,' * '],[-1,' * @inner'],[-1,' * @param {Function} classFunc \u7C7BFunction'],[-1,' * @param {Object} container \u7C7B\u5BB9\u5668'],[-1,' *\/'],[1,' function registerClass(classFunc, container) {'],[10,' if (typeof classFunc == \'function\') {'],[10,' var type = classFunc.prototype.type;'],[10,' if (type in container) {'],[0,' throw new Error(type + \' is exists!\');'],[-1,' }'],[-1,''],[10,' container[type] = classFunc;'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u7C7B\u5B9E\u4F8B\u3002\u7528\u4E8E\u63A7\u4EF6\u7C7B\u3001\u89C4\u5219\u7C7B\u6216\u6269\u5C55\u7C7B\u7684\u5B9E\u4F8B\u521B\u5EFA'],[-1,' * '],[-1,' * @inner'],[-1,' * @param {string} type \u7C7B\u578B'],[-1,' * @param {Object} options \u521D\u59CB\u5316\u53C2\u6570'],[-1,' * @param {Object} container \u7C7B\u5BB9\u5668'],[-1,' *\/'],[1,' function createInstance(type, options, container) {'],[9,' var Constructor = container[type];'],[9,' if (Constructor) {'],[9,' delete options.type;'],[9,' return new Constructor(options);'],[-1,' }'],[-1,''],[0,' return null;'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u63A7\u4EF6\u7C7B\u5BB9\u5668'],[-1,' * '],[-1,' * @inner'],[-1,' * @type {Object}'],[-1,' *\/'],[1,' var controlClasses = {};'],[-1,''],[-1,' \/**'],[-1,' * \u6CE8\u518C\u63A7\u4EF6\u7C7B\u3002'],[-1,' * \u901A\u8FC7\u7C7B\u7684prototype.type\u8BC6\u522B\u63A7\u4EF6\u7C7B\u578B\u4FE1\u606F\u3002'],[-1,' * '],[-1,' * @param {Function} controlClass \u63A7\u4EF6\u7C7B'],[-1,' *\/'],[1,' main.register = function (controlClass) {'],[8,' registerClass(controlClass, controlClasses);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u63A7\u4EF6'],[-1,' * '],[-1,' * @param {string} type \u63A7\u4EF6\u7C7B\u578B'],[-1,' * @param {Object} options \u521D\u59CB\u5316\u53C2\u6570'],[-1,' * @return {Control}'],[-1,' *\/'],[1,' main.create = function (type, options) {'],[9,' return createInstance(type, options, controlClasses);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u63A7\u4EF6'],[-1,' * '],[-1,' * @param {string} id \u63A7\u4EF6id'],[-1,' * @return {Control}'],[-1,' *\/'],[1,' main.get = function (id) {'],[3,' return defaultViewContext.get(id);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u4ECE\u5BB9\u5668DOM\u5143\u7D20\u6279\u91CF\u521D\u59CB\u5316\u5185\u90E8\u7684\u63A7\u4EF6\u6E32\u67D3'],[-1,' * '],[-1,' * @param {HTMLElement=} wrap \u5BB9\u5668DOM\u5143\u7D20\uFF0C\u9ED8\u8BA4document.body'],[-1,' * @param {Object=} options init\u53C2\u6570'],[-1,' * @param {Object=} options.viewContext \u89C6\u56FE\u73AF\u5883'],[-1,' * @param {Object=} options.properties \u5C5E\u6027\u96C6\u5408\uFF0C\u901A\u8FC7id\u6620\u5C04'],[-1,' * @param {Object=} options.valueReplacer \u5C5E\u6027\u503C\u66FF\u6362\u51FD\u6570'],[-1,' * @return {Array} \u521D\u59CB\u5316\u7684\u63A7\u4EF6\u5BF9\u8C61\u96C6\u5408'],[-1,' *\/'],[1,' main.init = function (wrap, options) {'],[16,' wrap = wrap || document.body;'],[16,' options = options || {};'],[-1,' '],[16,' var valueReplacer = options.valueReplacer || function (value) {'],[18,' return value;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u5B57\u7B26\u4E32\u6570\u7EC4join\u6210\u9A7C\u5CF0\u5F62\u5F0F'],[-1,' * '],[-1,' * @inner'],[-1,' * @param {Array.<string>} source \u6E90\u5B57\u7B26\u4E32\u6570\u7EC4'],[-1,' * @return {string}'],[-1,' *\/'],[16,' function joinCamelCase(source) {'],[2,' function replacer(c) {'],[0,' return c.toUpperCase();'],[-1,' }'],[-1,''],[2,' for (var i = 1, len = source.length; i < len; i++) {'],[0,' source[i] = source[i].replace(\/^[a-z]\/, replacer);'],[-1,' }'],[-1,''],[2,' return source.join(\'\');'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u4E0D\u8986\u76D6\u76EE\u6807\u5BF9\u8C61\u6210\u5458\u7684extend'],[-1,' * '],[-1,' * @inner'],[-1,' * @param {Object} target \u76EE\u6807\u5BF9\u8C61'],[-1,' * @param {Object} source \u6E90\u5BF9\u8C61'],[-1,' *\/'],[16,' function noOverrideExtend(target, source) {'],[8,' for (var key in source) {'],[16,' if (!(key in target)) {'],[16,' target[key] = source[key];'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u6807\u7B7E\u89E3\u6790\u7684\u503C\u9644\u52A0\u5230option\u5BF9\u8C61\u4E0A'],[-1,' * '],[-1,' * @inner'],[-1,' * @param {Object} optionObject option\u5BF9\u8C61'],[-1,' * @param {Array.<string>} terms \u7ECF\u8FC7\u5207\u5206\u7684\u6807\u7B7E\u540D\u89E3\u6790\u7ED3\u679C'],[-1,' * @param {string} value \u5C5E\u6027\u503C'],[-1,' *\/'],[16,' function extendToOption(optionObject, terms, value) {'],[10,' if (terms.length === 0) {'],[8,' noOverrideExtend('],[-1,' optionObject, '],[-1,' main.parseAttribute(value, valueReplacer)'],[-1,' );'],[-1,' }'],[-1,' else {'],[2,' optionObject[joinCamelCase(terms)] = valueReplacer(value);'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/\/ \u628Adom\u5143\u7D20\u5B58\u50A8\u5230\u4E34\u65F6\u6570\u7EC4\u4E2D'],[-1,' \/\/ \u63A7\u4EF6\u6E32\u67D3\u7684\u8FC7\u7A0B\u4F1A\u5BFC\u81F4Collection\u7684\u6539\u53D8'],[16,' var rawElements = wrap.getElementsByTagName(\'*\');'],[16,' var elements = [];'],[16,' for (var i = 0, len = rawElements.length; i < len; i++) {'],[22,' if (rawElements[i].nodeType === 1) {'],[22,' elements.push(rawElements[i]);'],[-1,' }'],[-1,' }'],[-1,''],[16,' var uiPrefix = main.getConfig(\'uiPrefix\');'],[16,' var extPrefix = main.getConfig(\'extensionPrefix\');'],[16,' var uiPrefixLen = uiPrefix.length;'],[16,' var extPrefixLen = extPrefix.length;'],[16,' var properties = options.properties || {};'],[16,' var controls = [];'],[16,' for (var i = 0, len = elements.length; i < len; i++) {'],[22,' var element = elements[i];'],[22,' var attributes = element.attributes;'],[22,' var controlOptions = {};'],[22,' var extensionOptions = {};'],[-1,''],[-1,' \/\/ \u89E3\u6790attribute\u4E2D\u7684\u53C2\u6570'],[22,' for (var j = 0, attrLen = attributes.length; j < attrLen; j++) {'],[19,' var attribute = attributes[j];'],[19,' var name = attribute.name;'],[19,' var value = attribute.value;'],[-1,''],[19,' if (name.indexOf(extPrefix) === 0) {'],[-1,' \/\/ \u89E3\u6790extension\u7684key'],[0,' var terms = name.slice(extPrefixLen + 1).split(\'-\');'],[0,' var extKey = terms[0];'],[0,' terms.shift();'],[-1,''],[-1,' \/\/ \u521D\u59CB\u5316\u8BE5key\u7684option\u5BF9\u8C61'],[0,' var extOption = extensionOptions[extKey];'],[0,' if (!extOption) {'],[0,' extOption = extensionOptions[extKey] = {};'],[-1,' }'],[-1,''],[0,' extendToOption(extOption, terms, value);'],[-1,' }'],[19,' else if (name.indexOf(uiPrefix) === 0) {'],[10,' var terms = name.length == uiPrefixLen'],[-1,' ? []'],[-1,' : name.slice(uiPrefixLen + 1).split(\'-\');'],[10,' extendToOption(controlOptions, terms, value);'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/\/ \u6839\u636E\u9009\u9879\u521B\u5EFA\u63A7\u4EF6'],[22,' var type = controlOptions.type;'],[22,' if (type) {'],[-1,' \/\/ \u4ECE\u7528\u6237\u4F20\u5165\u7684properties\u4E2Dmerge\u63A7\u4EF6\u521D\u59CB\u5316\u5C5E\u6027\u9009\u9879'],[9,' var controlId = controlOptions.id;'],[9,' var customOptions = controlId'],[-1,' ? properties[controlId]'],[-1,' : {};'],[9,' for (var key in customOptions) {'],[0,' controlOptions[key] = valueReplacer(customOptions[key]);'],[-1,' }'],[-1,''],[-1,' \/\/ \u521B\u5EFA\u63A7\u4EF6\u7684\u63D2\u4EF6'],[9,' var extensions = [];'],[9,' controlOptions.extensions = extensions;'],[9,' for (var key in extensionOptions) {'],[0,' var extOption = extensionOptions[key];'],[0,' var extension = main.createExtension('],[-1,' extOption.type, '],[-1,' extOption'],[-1,' );'],[0,' extension && extensions.push(extension);'],[-1,' }'],[-1,''],[-1,' \/\/ \u7ED1\u5B9A\u89C6\u56FE\u73AF\u5883\u548C\u63A7\u4EF6\u4E3B\u5143\u7D20'],[9,' controlOptions.viewContext = options.viewContext;'],[9,' controlOptions.main = element;'],[-1,''],[-1,' \/\/ \u521B\u5EFA\u63A7\u4EF6'],[9,' var control = main.create(type, controlOptions);'],[9,' if (control) {'],[9,' controls.push(control);'],[9,' control.render();'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[16,' return controls;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6269\u5C55\u7C7B\u5BB9\u5668'],[-1,' * '],[-1,' * @inner'],[-1,' * @type {Object}'],[-1,' *\/'],[1,' var extensionClasses = {};'],[-1,''],[-1,' \/**'],[-1,' * \u6CE8\u518C\u6269\u5C55\u7C7B\u3002'],[-1,' * \u901A\u8FC7\u7C7B\u7684prototype.type\u8BC6\u522B\u6269\u5C55\u7C7B\u578B\u4FE1\u606F\u3002'],[-1,' * '],[-1,' * @param {Function} extensionClass \u6269\u5C55\u7C7B'],[-1,' *\/'],[1,' main.registerExtension = function (extensionClass) {'],[2,' registerClass(extensionClass, extensionClasses);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u6269\u5C55'],[-1,' * '],[-1,' * @param {string} type \u6269\u5C55\u7C7B\u578B'],[-1,' * @param {Object} options \u521D\u59CB\u5316\u53C2\u6570'],[-1,' * @return {Extension}'],[-1,' *\/'],[1,' main.createExtension = function (type, options) {'],[0,' return createInstance(type, options, extensionClasses);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5168\u5C40\u6269\u5C55\u9009\u9879\u5BB9\u5668'],[-1,' * '],[-1,' * @inner'],[-1,' * @type {Object}'],[-1,' *\/'],[1,' var globalExtensionOptions = {};'],[-1,''],[-1,' \/**'],[-1,' * \u7ED1\u5B9A\u5168\u5C40\u6269\u5C55'],[-1,' * '],[-1,' * @param {string} type \u6269\u5C55\u7C7B\u578B'],[-1,' * @param {Object} options \u6269\u5C55\u521D\u59CB\u5316\u53C2\u6570'],[-1,' *\/'],[1,' main.attachExtension = function (type, options) {'],[0,' globalExtensionOptions[type] = options;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u5168\u5C40\u6269\u5C55\u5BF9\u8C61'],[-1,' * '],[-1,' * @return {Array.<Extension>}'],[-1,' *\/'],[1,' main.createGlobalExtensions = function () {'],[220,' var options = globalExtensionOptions;'],[220,' var extensions = [];'],[220,' for (var i = 0, len = options.length; i < len; i++) {'],[0,' var option = options[i];'],[0,' var type = option.type;'],[0,' var extension;'],[-1,''],[0,' if (type) {'],[0,' extension = main.create(type, option);'],[-1,' }'],[0,' extension && extensions.push(extension);'],[-1,' }'],[-1,''],[220,' return extensions;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u9A8C\u8BC1\u89C4\u5219\u7C7B\u5BB9\u5668'],[-1,' * '],[-1,' * @inner'],[-1,' * @type {Object}'],[-1,' *\/'],[1,' var ruleClasses = [];'],[-1,''],[-1,' \/**'],[-1,' * \u6CE8\u518C\u63A7\u4EF6\u9A8C\u8BC1\u89C4\u5219\u7C7B\u3002'],[-1,' * \u901A\u8FC7\u7C7B\u7684prototype.type\u8BC6\u522B\u63A7\u4EF6\u7C7B\u578B\u4FE1\u606F\u3002'],[-1,' * '],[-1,' * @param {Function} ruleClass \u9A8C\u8BC1\u89C4\u5219\u7C7B'],[-1,' * @param {number} priority \u4F18\u5148\u7EA7\uFF0C\u8D8A\u5C0F\u7684\u4F18\u5148\u7EA7\u8D8A\u9AD8'],[-1,' *\/'],[1,' main.registerRule = function (ruleClass, priority) {'],[-1,' \/\/ \u591A\u4E2ARule\u5171\u4EAB\u4E00\u4E2A\u5C5E\u6027\u4F3C\u4E4E\u4E5F\u6CA1\u95EE\u9898'],[0,' ruleClasses.push({ type: ruleClasses, priority: priority });'],[-1,' \/\/ \u80FD\u6709\u51E0\u4E2A\u89C4\u5219\uFF0C\u8FD9\u91CC\u5C31\u4E0D\u4F18\u5316\u4E3A\u63D2\u5165\u6392\u5E8F\u4E86'],[0,' ruleClasses.sort('],[0,' function (x, y) { return x.priority - y.priority; });'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u9A8C\u8BC1\u89C4\u5219'],[-1,' * '],[-1,' * @param {Control} control \u63A7\u4EF6\u5B9E\u4F8B'],[-1,' * @return {Array.<validate\/Rule>}'],[-1,' *\/'],[1,' main.createRulesByControl = function (control) {'],[0,' var rules = [];'],[0,' for (var i = 0; i < ruleClasses.length; i++) {'],[0,' var RuleClass = ruleClasses.type;'],[0,' if (control.get(RuleClass.prototype.type) != null) {'],[0,' rules.push(new RuleClass());'],[-1,' }'],[-1,' }'],[-1,''],[0,' return rules;'],[-1,' };'],[-1,''],[1,' return main;'],[-1,' }'],[-1,');']] |
||||
../src/extension/Command.js | 62 | 40 | 64 % |
|
[[1,'define('],[-1,' function (require) {'],[1,' var Extension = require(\'..\/Extension\');'],[-1,''],[-1,' \/**'],[-1,' * \u4ECEDOM\u5143\u7D20\u4E2D\u6293\u53D6\u547D\u4EE4\u4E8B\u4EF6\u7684\u6269\u5C55'],[-1,' *'],[-1,' * @param {Object=} options \u521D\u59CB\u5316\u914D\u7F6E'],[-1,' * @constructor'],[-1,' *\/'],[1,' function Command(options) {'],[1,' options = options || {};'],[1,' if (!options.events) {'],[1,' options.events = [\'click\'];'],[-1,' }'],[0,' else if (typeof options.events === \'string\') {'],[0,' options.events = options.events.split(\',\');'],[0,' var lib = require(\'..\/lib\');'],[0,' for (var i = 0; i < options.events.length; i++) {'],[0,' options.events[i] = lib.trim(options.events[i]);'],[-1,' }'],[-1,' }'],[1,' Extension.apply(this, arguments);'],[-1,' }'],[-1,''],[1,' Command.prototype.type = \'Command\';'],[-1,''],[-1,' \/**'],[-1,' * \u5904\u7406\u4E8B\u4EF6'],[-1,' *'],[-1,' * @param {Event} e \u4E8B\u4EF6\u5BF9\u8C61'],[-1,' *\/'],[1,' Command.prototype.handleCommand = function (e) {'],[0,' var target = e.target;'],[0,' while (target && target !== this.main) {'],[0,' if (target.nodeType === 1 '],[-1,' && (target.disabled !== true || e.type !== \'click\')'],[-1,' ) {'],[0,' var commandName = target.getAttribute(\'data-command\');'],[0,' if (commandName) {'],[0,' var args = target.getAttribute(\'data-command-args\');'],[0,' this.fire('],[-1,' \'command\', '],[-1,' {'],[-1,' name: commandName, '],[-1,' triggerType: e.type, '],[-1,' args: args'],[-1,' }'],[-1,' );'],[-1,' }'],[-1,' }'],[0,' target = target.parentNode;'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6FC0\u6D3B\u6269\u5C55'],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' Command.prototype.activate = function () {'],[0,' var helper = require(\'..\/controlHelper\');'],[0,' for (var i = 0; i < this.events.length; i++) {'],[0,' helper.addDOMEvent('],[-1,' this.target, '],[-1,' this.target.main, '],[-1,' this.events[i], '],[-1,' this.handleCommand'],[-1,' );'],[-1,' }'],[-1,''],[0,' Extension.prototype.activate.apply(this, arguments);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u53D6\u6D88\u6269\u5C55\u7684\u6FC0\u6D3B\u72B6\u6001'],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' Command.prototype.inactivate = function () {'],[0,' var helper = require(\'..\/controlHelper\');'],[0,' for (var i = 0; i < this.events.length; i++) {'],[0,' helper.removeDOMEvent('],[-1,' this.target, '],[-1,' this.target.main, '],[-1,' this.events[i], '],[-1,' this.handleCommand'],[-1,' );'],[-1,' }'],[0,' this.handler = null;'],[-1,''],[0,' Extension.prototype.inactivate.apply(this, arguments);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u4E00\u4E2A\u6839\u636E\u4E8B\u4EF6\u7C7B\u578B\u548C\u547D\u4EE4\u540D\u79F0\u5206\u53D1\u81F3\u5BF9\u5E94\u5904\u7406\u51FD\u6570\u7684\u51FD\u6570'],[-1,' *'],[-1,' * @param {Object} config \u76F8\u5173\u7684\u914D\u7F6E'],[-1,' * @param {function} \u5206\u53D1\u51FD\u6570\uFF0C\u7528\u4E8E\u6CE8\u518C\u5230`command`\u4E8B\u4EF6\u4E0A'],[-1,' *\/'],[1,' Command.createDispatcher = function (config) {'],[-1,' \/\/ `config`\u53EF\u4EE5\u662F\u4EE5\u4E0B\u4E24\u79CD\u5F62\u5F0F\uFF1A'],[-1,' \/\/ '],[-1,' \/\/ ['],[-1,' \/\/ { type: \'click\', name: \'xxx\', handler: xxx },'],[-1,' \/\/ { type: \'mouseover\', name: \'xxx\', handler: yyy },'],[-1,' \/\/ { type: \'click\', name: \'yyy\', handler: zzz },'],[-1,' \/\/ ]'],[-1,' \/\/ '],[-1,' \/\/ \u6216'],[-1,' \/\/ '],[-1,' \/\/ {'],[-1,' \/\/ \'click:xxx\': xxx,'],[-1,' \/\/ \'mouseover:xxx\': yyy,'],[-1,' \/\/ \'click:yyy\': zzz'],[-1,' \/\/ }'],[14,' var map = config;'],[14,' var lib = require(\'..\/lib\');'],[14,' if (lib.isArray(config)) {'],[6,' map = {};'],[6,' for (var i = 0; i < config.length; i++) {'],[7,' var item = config[i];'],[7,' var name = item.triggerType'],[-1,' ? item.triggerType + \':\' + item.name'],[-1,' : item.name;'],[7,' map[name] = item.handler;'],[-1,' }'],[-1,' }'],[-1,''],[14,' return function (e) {'],[12,' var lib = require(\'..\/lib\');'],[-1,' '],[-1,' \/\/ \u5904\u7406\u51FD\u6570\u7684\u67E5\u627E\u89C4\u5219\uFF0C\u4F18\u5148\u7EA7\u4ECE\u9AD8\u5230\u4F4E\u4F9D\u6B21\u662F\uFF1A'],[-1,' \/\/ '],[-1,' \/\/ 1. \u4ECE`config`\u4E2D\u4F20\u8FC7\u6765\u7684\u4E14\u80FD\u5BF9\u4E0A\u7C7B\u578B\u53CA\u547D\u4EE4\u540D\u79F0\u7684'],[-1,' \/\/ 2. \u4ECE`config`\u4E2D\u4F20\u8FC7\u6765\u7684\u4E14\u80FD\u5BF9\u4E0A\u547D\u4EE4\u540D\u79F0\u7684'],[-1,' \/\/ 3. \u63A7\u4EF6\u5B9E\u4F8B\u4E0A\u4EE5`execute${name}${triggerType}`\u4E3A\u540D\u79F0\u7684\u65B9\u6CD5'],[-1,' \/\/ 4. \u63A7\u4EF6\u5B9E\u4F8B\u4E0A\u4EE5`execute${name}`\u4E3A\u540D\u79F0\u7684\u65B9\u6CD5'],[-1,' \/\/ 5. `config`\u4E2D\u547D\u4EE4\u540D\u79F0\u4E3A`*`\u4E14\u7C7B\u578B\u80FD\u5BF9\u4E0A\u7684'],[-1,' \/\/ 6. `config`\u4E2D\u547D\u4EE4\u540D\u79F0\u4E3A`*`\u4E14\u6CA1\u63D0\u4F9B\u7C7B\u578B\u7684'],[-1,' \/\/ '],[-1,' \/\/ \u5176\u4E2D3\u548C4\u4E24\u6761\u4E2D\u7684`${name}`\u548C`${triggerType}`\u5747\u8F6C\u4E3APascalCase'],[12,' var handler = map[e.triggerType + \':\' + e.name];'],[12,' if (!handler) {'],[10,' handler = map[e.name];'],[-1,' }'],[12,' if (!handler) {'],[8,' var method = \'execute\' '],[-1,' + lib.pascalize(e.name)'],[-1,' + lib.pascalize(e.triggerType);'],[8,' handler = this[method];'],[-1,' }'],[12,' if (typeof handler !== \'function\') {'],[6,' var method = \'execute\' '],[-1,' + lib.pascalize(e.name);'],[6,' handler = this[method];'],[-1,' }'],[12,' if (typeof handler !== \'function\') {'],[4,' handler = map[e.triggerType + \':*\'];'],[-1,' }'],[12,' if (!handler) {'],[2,' handler = map[\'*\'];'],[-1,' }'],[-1,''],[12,' if (typeof handler === \'function\') {'],[12,' handler.apply(this, arguments);'],[-1,' }'],[-1,' };'],[-1,' };'],[-1,''],[1,' require(\'..\/lib\').inherits(Command, Extension);'],[1,' require(\'..\/main\').registerExtension(Command);'],[-1,''],[1,' return Command;'],[-1,' }'],[-1,');']] |
||||
../src/lib.js | 342 | 204 | 59 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI library)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file UI\u57FA\u7840\u5E93\u9002\u914D\u5C42'],[-1,' * @author otakustay, firede(firede@firede.us), erik'],[-1,' *\/'],[1,'define(function () {'],[-1,' \/**'],[-1,' * lib\u547D\u540D\u7A7A\u95F4'],[-1,' * '],[-1,' * @namespace'],[-1,' *\/'],[1,' var lib = {};'],[-1,''],[-1,' \/* ========================== \u8BED\u8A00\u90E8\u5206 ========================== *\/'],[-1,''],[1,' var whitespace = \/(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+$)\/g;'],[-1,''],[-1,' \/**'],[-1,' * \u5220\u9664\u76EE\u6807\u5B57\u7B26\u4E32\u4E24\u7AEF\u7684\u7A7A\u767D\u5B57\u7B26'],[-1,' * '],[-1,' * @param {string} source \u76EE\u6807\u5B57\u7B26\u4E32'],[-1,' * @return {string} \u5220\u9664\u4E24\u7AEF\u7A7A\u767D\u5B57\u7B26\u540E\u7684\u5B57\u7B26\u4E32'],[-1,' *\/'],[1,' lib.trim = function (source) {'],[-1,' \/\/ by Tangram 1.x: baidu.string.trim'],[36,' return String(source).replace(whitespace, \'\');'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5224\u65AD\u503C\u662F\u5426\u4E3AArray\u7C7B\u578B'],[-1,' * '],[-1,' * @public'],[-1,' * @param {object} source'],[-1,' * @param {boolean}'],[-1,' *\/'],[1,' lib.isArray = function (source) {'],[378,' return \'[object Array]\' == Object.prototype.toString.call(source);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u5BF9\u8C61\u8F6C\u6362\u4E3A\u6570\u7EC4'],[-1,' *'],[-1,' * @public'],[-1,' * @param {*} source \u4EFB\u610F\u5BF9\u8C61'],[-1,' * @return {Array}'],[-1,' *\/'],[1,' lib.toArray = function (source) {'],[0,' var length = source.length;'],[0,' if (typeof length === \'number\') {'],[0,' var result = [];'],[0,' for (var i = 0; i < length; i++) {'],[0,' result[i] = source[i];'],[-1,' }'],[0,' return result;'],[-1,' }'],[-1,' else {'],[0,' return [source];'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5224\u65AD\u4E00\u4E2A\u6570\u7EC4\u4E2D\u662F\u5426\u5305\u542B\u7ED9\u5B9A\u5143\u7D20'],[-1,' * @name baidu.array.contains'],[-1,' * @function'],[-1,' * @grammar baidu.array.contains(source, obj)'],[-1,' * @param {Array} source \u9700\u8981\u5224\u65AD\u7684\u6570\u7EC4.'],[-1,' * @param {Any} obj \u8981\u67E5\u627E\u7684\u5143\u7D20.'],[-1,' * @return {boolean} \u5224\u65AD\u7ED3\u679C.'],[-1,' * @author berg'],[-1,' *\/'],[1,' lib.inArray = function(source, obj) {'],[0,' for ( var i = 0 , len = source.length ; i < len; i++) {'],[0,' if(i in source && source[i] === obj) {'],[0,' return true;'],[-1,' }'],[-1,' }'],[0,' return false;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u4E3A\u7C7B\u578B\u6784\u9020\u5668\u5EFA\u7ACB\u7EE7\u627F\u5173\u7CFB'],[-1,' * '],[-1,' * @param {function} subClass \u5B50\u7C7B\u6784\u9020\u5668'],[-1,' * @param {function} superClass \u7236\u7C7B\u6784\u9020\u5668'],[-1,' *\/'],[1,' lib.inherits = function (subClass, superClass) {'],[-1,' \/\/ by Tangram 1.x: baidu.lang.inherits'],[12,' var Empty = function () {};'],[12,' Empty.prototype = superClass.prototype;'],[12,' var selfPrototype = subClass.prototype;'],[12,' var proto = subClass.prototype = new Empty();'],[-1,' '],[12,' for (var key in selfPrototype) {'],[87,' proto[key] = selfPrototype[key];'],[-1,' }'],[12,' subClass.prototype.constructor = subClass;'],[12,' subClass.superClass = superClass.prototype;'],[-1,''],[12,' return subClass;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u6E90\u5BF9\u8C61\u5C5E\u6027\u62F7\u8D1D\u5230\u76EE\u6807\u5BF9\u8C61'],[-1,' * '],[-1,' * @param {Object} target \u76EE\u6807\u5BF9\u8C61'],[-1,' * @param {Object} source \u6E90\u5BF9\u8C61'],[-1,' * @return {Object} `target`\u5BF9\u8C61'],[-1,' *\/'],[1,' lib.extend = function (target, source) {'],[359,' for (var i = 1, len = arguments.length; i < len; i++) {'],[426,' source = arguments[i];'],[-1,''],[426,' if (!source) {'],[8,' continue;'],[-1,' }'],[-1,''],[418,' for (var key in source) {'],[1022,' if (source.hasOwnProperty(key)) {'],[1022,' target[key] = source[key];'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[359,' return target;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5BF9\u4E00\u4E2Aobject\u8FDB\u884C\u6DF1\u5EA6\u62F7\u8D1D'],[-1,' * '],[-1,' * @param {Object} source \u9700\u8981\u8FDB\u884C\u62F7\u8D1D\u7684\u5BF9\u8C61'],[-1,' * @return {Object} \u62F7\u8D1D\u540E\u7684\u65B0\u5BF9\u8C61'],[-1,' *\/'],[1,' lib.clone = function (source) {'],[936,' if (!source || typeof source !== \'object\') {'],[572,' return source;'],[-1,' }'],[-1,''],[364,' var result = source;'],[364,' if (lib.isArray(source)) {'],[38,' result = [];'],[38,' for (var i = 0; i < source.length; i++) {'],[150,' result.push(source[i]);'],[-1,' }'],[-1,' }'],[326,' else if (Object.prototype.toString.call(source) === \'[object Object]\''],[-1,' \/\/ IE\u4E0B\uFF0CDOM\u548CBOM\u5BF9\u8C61\u4E0A\u4E00\u4E2A\u8BED\u53E5\u4E3Atrue\uFF0C'],[-1,' \/\/ isPrototypeOf\u6302\u5728`Object.prototype`\u4E0A\u7684\uFF0C'],[-1,' \/\/ \u56E0\u6B64\u6240\u6709\u7684\u5B57\u9762\u91CF\u90FD\u5E94\u8BE5\u4F1A\u6709\u8FD9\u4E2A\u5C5E\u6027'],[-1,' \/\/ \u5BF9\u4E8E\u5728`window`\u4E0A\u6302\u4E86`isPrototypeOf`\u5C5E\u6027\u7684\u60C5\u51B5\uFF0C\u76F4\u63A5\u5FFD\u7565\u4E0D\u8003\u8651'],[-1,' && (\'isPrototypeOf\' in source)'],[-1,' ) {'],[326,' result = {};'],[326,' for (var key in source) {'],[790,' if (source.hasOwnProperty(key)) {'],[790,' result[key] = lib.clone(source[key]);'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[364,' return result;'],[-1,' };'],[-1,''],[-1,' \/** '],[-1,' * \u4E3A\u5BF9\u8C61\u7ED1\u5B9A\u65B9\u6CD5\u548C\u4F5C\u7528\u57DF'],[-1,' * '],[-1,' * @param {function} handler \u8981\u7ED1\u5B9A\u7684\u51FD\u6570'],[-1,' * @param {Object} obj \u6267\u884C\u8FD0\u884C\u65F6this\uFF0C\u5982\u679C\u4E0D\u4F20\u5165\u5219\u8FD0\u884C\u65F6this\u4E3A\u51FD\u6570\u672C\u8EAB'],[-1,' * @param {...args=} args \u51FD\u6570\u6267\u884C\u65F6\u9644\u52A0\u5230\u6267\u884C\u65F6\u51FD\u6570\u524D\u9762\u7684\u53C2\u6570'],[-1,' *'],[-1,' * @return {function} \u5C01\u88C5\u540E\u7684\u51FD\u6570'],[-1,' *\/'],[1,' lib.bind = function (func, scope) {'],[-1,' \/\/ by Tangram 1.x: baidu.fn.bind'],[129,' var xargs = arguments.length > 2 ? [].slice.call(arguments, 2) : null;'],[129,' return function () {'],[19,' var args = xargs '],[-1,' ? xargs.concat([].slice.call(arguments)) '],[-1,' : arguments;'],[19,' return func.apply(scope, args);'],[-1,' };'],[-1,' };'],[-1,''],[-1,' \/** '],[-1,' * \u4E3A\u51FD\u6570\u6DFB\u52A0\u989D\u5916\u53C2\u6570'],[-1,' * '],[-1,' * @param {function} handler \u8981\u7ED1\u5B9A\u7684\u51FD\u6570'],[-1,' * @param {...args=} args \u51FD\u6570\u6267\u884C\u65F6\u9644\u52A0\u5230\u6267\u884C\u65F6\u51FD\u6570\u524D\u9762\u7684\u53C2\u6570'],[-1,' *'],[-1,' * @return {function} \u5C01\u88C5\u540E\u7684\u51FD\u6570'],[-1,' *\/'],[1,' lib.curry = function (func) {'],[288,' var xargs = [].slice.call(arguments, 1);'],[288,' return function () {'],[37,' var args = xargs.concat([].slice.call(arguments));'],[37,' return func.apply(this, args);'],[-1,' };'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5B57\u7B26\u4E32\u683C\u5F0F\u5316'],[-1,' * '],[-1,' * @param {string} template \u539F\u5B57\u7B26\u4E32'],[-1,' * @param {Object.<string, *>} data \u53C2\u6570'],[-1,' * '],[-1,' * @return {string}'],[-1,' *\/'],[1,' lib.format = function (template, data) {'],[353,' if (data == null) {'],[0,' return template;'],[-1,' }'],[-1,' '],[353,' return template.replace('],[-1,' \/\\$\\{(.+?)\\}\/g,'],[-1,' function (match, key) {'],[362,' var replacer = data[key];'],[362,' if (typeof replacer === \'function\') {'],[0,' replacer = replacer(key);'],[-1,' }'],[-1,''],[362,' return replacer == null ? \'\' : replacer;'],[-1,' }'],[-1,' );'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5BF9\u76EE\u6807\u5B57\u7B26\u4E32\u8FDB\u884Chtml\u89E3\u7801'],[-1,' * '],[-1,' * @param {string} source \u76EE\u6807\u5B57\u7B26\u4E32'],[-1,' * @return {string} html\u89E3\u7801\u540E\u7684\u5B57\u7B26\u4E32'],[-1,' *\/'],[1,' lib.decodeHTML = function (source) {'],[-1,' \/\/ by Tangram 1.x: baidu.string.decodeHTML'],[0,' var str = String(source)'],[-1,' .replace(\/"\/g, \'\"\')'],[-1,' .replace(\/<\/g, \'<\')'],[-1,' .replace(\/>\/g, \'>\')'],[-1,' .replace(\/&\/g, \'&\');'],[-1,' \/\/\u5904\u7406\u8F6C\u4E49\u7684\u4E2D\u6587\u548C\u5B9E\u4F53\u5B57\u7B26'],[0,' return str.replace('],[-1,' \/&#([\\d]+);\/g, '],[-1,' function (match, code) {'],[0,' return String.fromCharCode(parseInt(code, 10));'],[-1,' }'],[-1,' );'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5BF9\u76EE\u6807\u5B57\u7B26\u4E32\u8FDB\u884Chtml\u7F16\u7801'],[-1,' * '],[-1,' * @param {string} source \u76EE\u6807\u5B57\u7B26\u4E32'],[-1,' * @return {string} html\u7F16\u7801\u540E\u7684\u5B57\u7B26\u4E32'],[-1,' *\/'],[1,' lib.encodeHTML = function (source) {'],[-1,' \/\/ by Tangram 1.x: baidu.string.encodeHTML'],[570,' return String(source)'],[-1,' .replace(\/&\/g, \'&\')'],[-1,' .replace(\/<\/g, \'<\')'],[-1,' .replace(\/>\/g, \'>\')'],[-1,' .replace(\/\"\/g, \'"\')'],[-1,' .replace(\/\'\/g, \''\');'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u5B57\u7B26\u4E32\u8F6C\u6362\u6210camel\u683C\u5F0F'],[-1,' * '],[-1,' * @param {string} source \u6E90\u5B57\u7B26\u4E32'],[-1,' * @return {string}'],[-1,' *\/'],[1,' lib.camelize = function (source) {'],[145,' return source.replace( '],[-1,' \/-([a-z])\/g, '],[-1,' function (alpha) {'],[0,' return alpha.toUpperCase();'],[-1,' }'],[-1,' );'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u5B57\u7B26\u4E32\u8F6C\u6362\u6210pascal\u683C\u5F0F'],[-1,' * '],[-1,' * @param {string} source \u6E90\u5B57\u7B26\u4E32'],[-1,' * @return {string}'],[-1,' *\/'],[1,' lib.pascalize = function (source) {'],[145,' return source.charAt(0).toUpperCase() + lib.camelize(source.slice(1));'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * @namespace lib.date \u64CD\u4F5C\u65E5\u671F\u7684\u65B9\u6CD5\u3002'],[-1,' *\/'],[1,' lib.date = lib.date || {};'],[-1,''],[-1,' \/**'],[-1,' * \u5BF9\u76EE\u6807\u65E5\u671F\u5BF9\u8C61\u8FDB\u884C\u683C\u5F0F\u5316'],[-1,' * @name baidu.date.format'],[-1,' * @function'],[-1,' * @grammar baidu.date.format(source, pattern)'],[-1,' * @param {Date} source \u76EE\u6807\u65E5\u671F\u5BF9\u8C61'],[-1,' * @param {string} pattern \u65E5\u671F\u683C\u5F0F\u5316\u89C4\u5219'],[-1,' * '],[-1,' * @remark'],[-1,' * '],[-1,' * <b>\u683C\u5F0F\u8868\u8FBE\u5F0F\uFF0C\u53D8\u91CF\u542B\u4E49\uFF1A<\/b><br><br>'],[-1,' * hh: \u5E26 0 \u8865\u9F50\u7684\u4E24\u4F4D 12 \u8FDB\u5236\u65F6\u8868\u793A<br>'],[-1,' * h: \u4E0D\u5E26 0 \u8865\u9F50\u7684 12 \u8FDB\u5236\u65F6\u8868\u793A<br>'],[-1,' * HH: \u5E26 0 \u8865\u9F50\u7684\u4E24\u4F4D 24 \u8FDB\u5236\u65F6\u8868\u793A<br>'],[-1,' * H: \u4E0D\u5E26 0 \u8865\u9F50\u7684 24 \u8FDB\u5236\u65F6\u8868\u793A<br>'],[-1,' * mm: \u5E26 0 \u8865\u9F50\u4E24\u4F4D\u5206\u8868\u793A<br>'],[-1,' * m: \u4E0D\u5E26 0 \u8865\u9F50\u5206\u8868\u793A<br>'],[-1,' * ss: \u5E26 0 \u8865\u9F50\u4E24\u4F4D\u79D2\u8868\u793A<br>'],[-1,' * s: \u4E0D\u5E26 0 \u8865\u9F50\u79D2\u8868\u793A<br>'],[-1,' * yyyy: \u5E26 0 \u8865\u9F50\u7684\u56DB\u4F4D\u5E74\u8868\u793A<br>'],[-1,' * yy: \u5E26 0 \u8865\u9F50\u7684\u4E24\u4F4D\u5E74\u8868\u793A<br>'],[-1,' * MM: \u5E26 0 \u8865\u9F50\u7684\u4E24\u4F4D\u6708\u8868\u793A<br>'],[-1,' * M: \u4E0D\u5E26 0 \u8865\u9F50\u7684\u6708\u8868\u793A<br>'],[-1,' * dd: \u5E26 0 \u8865\u9F50\u7684\u4E24\u4F4D\u65E5\u8868\u793A<br>'],[-1,' * d: \u4E0D\u5E26 0 \u8865\u9F50\u7684\u65E5\u8868\u793A '],[-1,' * '],[-1,' * @returns {string} \u683C\u5F0F\u5316\u540E\u7684\u5B57\u7B26\u4E32'],[-1,' *\/'],[1,' lib.date.format = function (source, pattern) {'],[0,' if (\'string\' != typeof pattern) {'],[0,' return source.toString();'],[-1,' }'],[-1,''],[0,' function replacer(patternPart, result) {'],[0,' pattern = pattern.replace(patternPart, result);'],[-1,' }'],[-1,' '],[0,' var pad = lib.number.pad;'],[0,' var year = source.getFullYear();'],[0,' var month = source.getMonth() + 1;'],[0,' var date2 = source.getDate();'],[0,' var hours = source.getHours();'],[0,' var minutes = source.getMinutes();'],[0,' var seconds = source.getSeconds();'],[-1,''],[0,' replacer(\/yyyy\/g, pad(year, 4));'],[0,' replacer(\/yy\/g, pad(parseInt(year.toString().slice(2), 10), 2));'],[0,' replacer(\/MM\/g, pad(month, 2));'],[0,' replacer(\/M\/g, month);'],[0,' replacer(\/dd\/g, pad(date2, 2));'],[0,' replacer(\/d\/g, date2);'],[-1,''],[0,' replacer(\/HH\/g, pad(hours, 2));'],[0,' replacer(\/H\/g, hours);'],[0,' replacer(\/hh\/g, pad(hours % 12, 2));'],[0,' replacer(\/h\/g, hours % 12);'],[0,' replacer(\/mm\/g, pad(minutes, 2));'],[0,' replacer(\/m\/g, minutes);'],[0,' replacer(\/ss\/g, pad(seconds, 2));'],[0,' replacer(\/s\/g, seconds);'],[-1,''],[0,' return pattern;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u76EE\u6807\u5B57\u7B26\u4E32\u8F6C\u6362\u6210\u65E5\u671F\u5BF9\u8C61'],[-1,' * @name baidu.date.parse'],[-1,' * @function'],[-1,' * @grammar baidu.date.parse(source)'],[-1,' * @param {string} source \u76EE\u6807\u5B57\u7B26\u4E32'],[-1,' * @remark'],[-1,' * '],[-1,' * \u5BF9\u4E8E\u76EE\u6807\u5B57\u7B26\u4E32\uFF0C\u4E0B\u9762\u8FD9\u4E9B\u89C4\u5219\u51B3\u5B9A\u4E86 parse \u65B9\u6CD5\u80FD\u591F\u6210\u529F\u5730\u89E3\u6790\uFF1A'],[-1,' * '],[-1,' * - \u77ED\u65E5\u671F\u53EF\u4EE5\u4F7F\u7528\u201C\/\u201D\u6216\u201C-\u201D\u4F5C\u4E3A\u65E5\u671F\u5206\u9694\u7B26\uFF0C'],[-1,' * \u4F46\u662F\u5FC5\u987B\u7528\u6708\/\u65E5\/\u5E74\u7684\u683C\u5F0F\u6765\u8868\u793A\uFF0C\u4F8B\u5982\"7\/20\/96\"\u3002'],[-1,' * - \u4EE5 \"July 10 1995\" \u5F62\u5F0F\u8868\u793A\u7684\u957F\u65E5\u671F\u4E2D\u7684\u5E74\u3001\u6708\u3001\u65E5\u53EF\u4EE5\u6309\u4EFB\u4F55\u987A\u5E8F\u6392\u5217\uFF0C'],[-1,' * \u5E74\u4EFD\u503C\u53EF\u4EE5\u7528 2 \u4F4D\u6570\u5B57\u8868\u793A\u4E5F\u53EF\u4EE5\u7528 4 \u4F4D\u6570\u5B57\u8868\u793A\u3002'],[-1,' * \u5982\u679C\u4F7F\u7528 2 \u4F4D\u6570\u5B57\u6765\u8868\u793A\u5E74\u4EFD\uFF0C\u90A3\u4E48\u8BE5\u5E74\u4EFD\u5FC5\u987B\u5927\u4E8E\u6216\u7B49\u4E8E 70\u3002'],[-1,' * - \u62EC\u53F7\u4E2D\u7684\u4EFB\u4F55\u6587\u672C\u90FD\u88AB\u89C6\u4E3A\u6CE8\u91CA\u3002\u8FD9\u4E9B\u62EC\u53F7\u53EF\u4EE5\u5D4C\u5957\u4F7F\u7528\u3002'],[-1,' * - \u9017\u53F7\u548C\u7A7A\u683C\u88AB\u89C6\u4E3A\u5206\u9694\u7B26\u3002\u5141\u8BB8\u4F7F\u7528\u591A\u4E2A\u5206\u9694\u7B26\u3002'],[-1,' * - \u6708\u548C\u65E5\u7684\u540D\u79F0\u5FC5\u987B\u5177\u6709\u4E24\u4E2A\u6216\u4E24\u4E2A\u4EE5\u4E0A\u7684\u5B57\u7B26\u3002'],[-1,' * \u5982\u679C\u4E24\u4E2A\u5B57\u7B26\u6240\u7EC4\u6210\u7684\u540D\u79F0\u4E0D\u662F\u72EC\u4E00\u65E0\u4E8C\u7684\uFF0C'],[-1,' * \u90A3\u4E48\u8BE5\u540D\u79F0\u5C31\u88AB\u89E3\u6790\u6210\u6700\u540E\u4E00\u4E2A\u7B26\u5408\u6761\u4EF6\u7684\u6708\u6216\u65E5\u3002'],[-1,' * \u4F8B\u5982\uFF0C\"Ju\" \u88AB\u89E3\u91CA\u4E3A\u4E03\u6708\u800C\u4E0D\u662F\u516D\u6708\u3002'],[-1,' * - \u5728\u6240\u63D0\u4F9B\u7684\u65E5\u671F\u4E2D\uFF0C\u5982\u679C\u6240\u6307\u5B9A\u7684\u661F\u671F\u51E0\u7684\u503C\u4E0E'],[-1,' * \u6309\u7167\u8BE5\u65E5\u671F\u4E2D\u5269\u4F59\u90E8\u5206\u6240\u786E\u5B9A\u7684\u661F\u671F\u51E0\u7684\u503C\u4E0D\u7B26\u5408\uFF0C'],[-1,' * \u90A3\u4E48\u8BE5\u6307\u5B9A\u503C\u5C31\u4F1A\u88AB\u5FFD\u7565\u3002'],[-1,' * \u4F8B\u5982\uFF0C\u5C3D\u7BA1 1996 \u5E74 11 \u6708 9 \u65E5\u5B9E\u9645\u4E0A\u662F\u661F\u671F\u4E94\uFF0C'],[-1,' * \"Tuesday November 9 1996\" \u4E5F\u8FD8\u662F\u53EF\u4EE5\u88AB\u63A5\u53D7\u5E76\u8FDB\u884C\u89E3\u6790\u7684\u3002'],[-1,' * \u4F46\u662F\u7ED3\u679C date \u5BF9\u8C61\u4E2D\u5305\u542B\u7684\u662F \"Friday November 9 1996\"\u3002'],[-1,' * - JScript \u5904\u7406\u6240\u6709\u7684\u6807\u51C6\u65F6\u533A\uFF0C'],[-1,' * \u4EE5\u53CA\u5168\u7403\u6807\u51C6\u65F6\u95F4 (UTC) \u548C\u683C\u6797\u5A01\u6CBB\u6807\u51C6\u65F6\u95F4 (GMT)\u3002'],[-1,' * - \u5C0F\u65F6\u3001\u5206\u949F\u3001\u548C\u79D2\u949F\u4E4B\u95F4\u7528\u5192\u53F7\u5206\u9694\uFF0C'],[-1,' * \u5C3D\u7BA1\u4E0D\u662F\u8FD9\u4E09\u9879\u90FD\u9700\u8981\u6307\u660E\u3002\"10:\"\u3001\"10:11\"\u3001\u548C \"10:11:12\" \u90FD\u662F\u6709\u6548\u7684\u3002'],[-1,' * - \u5982\u679C\u4F7F\u7528 24 \u5C0F\u65F6\u8BA1\u65F6\u7684\u65F6\u949F\uFF0C'],[-1,' * \u90A3\u4E48\u4E3A\u4E2D\u5348 12 \u70B9\u4E4B\u540E\u7684\u65F6\u95F4\u6307\u5B9A\"PM\"\u662F\u9519\u8BEF\u7684\u3002\u4F8B\u5982 \"23:15 PM\" \u5C31\u662F\u9519\u8BEF\u7684\u3002'],[-1,' * - \u5305\u542B\u65E0\u6548\u65E5\u671F\u7684\u5B57\u7B26\u4E32\u662F\u9519\u8BEF\u7684\u3002'],[-1,' * \u4F8B\u5982\uFF0C\u4E00\u4E2A\u5305\u542B\u6709\u4E24\u4E2A\u5E74\u4EFD\u6216\u4E24\u4E2A\u6708\u4EFD\u7684\u5B57\u7B26\u4E32\u5C31\u662F\u9519\u8BEF\u7684\u3002'],[-1,' * '],[-1,' * @returns {Date} \u8F6C\u6362\u540E\u7684\u65E5\u671F\u5BF9\u8C61'],[-1,' *\/'],[1,' lib.date.parse = function (source) {'],[-1,' \/\/ by Tangram 1.x: baidu.date.parse'],[0,' var reg = new RegExp(\'^\\\\d+(\\\\-|\\\\\/)\\\\d+(\\\\-|\\\\\/)\\\\d+\\x24\');'],[0,' if (\'string\' == typeof source) {'],[0,' if (reg.test(source) || isNaN(Date.parse(source))) {'],[0,' var d = source.split(\/ |T\/);'],[0,' var d1 = d.length > 1 '],[-1,' ? d[1].split(\/[^\\d]\/) '],[-1,' : [0, 0, 0];'],[0,' var d0 = d[0].split(\/[^\\d]\/);'],[0,' return new Date('],[-1,' d0[0] - 0, d0[1] - 1, d0[2] - 0, '],[-1,' d1[0] - 0, d1[1] - 0, d1[2] - 0'],[-1,' );'],[-1,' }'],[-1,' else {'],[0,' return new Date(source);'],[-1,' }'],[-1,' }'],[-1,' '],[0,' return new Date();'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * @namespace lib.number \u64CD\u4F5Cnumber\u7684\u65B9\u6CD5\u3002'],[-1,' *\/'],[1,' lib.number = lib.number || {};'],[-1,''],[-1,' \/**'],[-1,' * \u5BF9\u76EE\u6807\u6570\u5B57\u8FDB\u884C0\u8865\u9F50\u5904\u7406'],[-1,' * @name lib.number.pad'],[-1,' * @function'],[-1,' * @grammar lib.number.pad(source, length)'],[-1,' * @param {number} source \u9700\u8981\u5904\u7406\u7684\u6570\u5B57'],[-1,' * @param {number} length \u9700\u8981\u8F93\u51FA\u7684\u957F\u5EA6'],[-1,' * '],[-1,' * @returns {string} \u5BF9\u76EE\u6807\u6570\u5B57\u8FDB\u884C0\u8865\u9F50\u5904\u7406\u540E\u7684\u7ED3\u679C'],[-1,' *\/'],[1,' lib.number.pad = function (source, length) {'],[0,' var pre = \'\';'],[0,' var negative = (source < 0);'],[0,' var string = String(Math.abs(source));'],[-1,''],[0,' if (string.length < length) {'],[0,' pre = (new Array(length - string.length + 1)).join(\'0\');'],[-1,' }'],[-1,''],[0,' return (negative ? \'-\' : \'\') + pre + string;'],[-1,' };'],[-1,''],[-1,' \/* ========================== DOM\u90E8\u5206 ========================== *\/'],[-1,''],[-1,' \/**'],[-1,' * \u4ECE\u6587\u6863\u4E2D\u83B7\u53D6\u6307\u5B9A\u7684DOM\u5143\u7D20'],[-1,' * '],[-1,' * @param {string|HTMLElement} id \u5143\u7D20\u7684id\u6216DOM\u5143\u7D20'],[-1,' * @return {HTMLElement|null} \u83B7\u53D6\u7684\u5143\u7D20\uFF0C\u67E5\u627E\u4E0D\u5230\u65F6\u8FD4\u56DEnull'],[-1,' *\/'],[1,' lib.g = function (id) {'],[964,' if (!id) {'],[0,' return null;'],[-1,' }'],[-1,''],[964,' return typeof id === \'string\' ? document.getElementById(id) : id;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5224\u65AD\u4E00\u4E2A\u5143\u7D20\u662F\u5426\u8F93\u5165\u5143\u7D20'],[-1,' *'],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5143\u7D20'],[-1,' * @return {boolean}'],[-1,' *\/'],[1,' lib.isInput = function (element) {'],[39,' var nodeName = element.nodeName.toLowerCase();'],[39,' return nodeName === \'input\''],[-1,' || nodeName === \'select\''],[-1,' || nodeName === \'textarea\';'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5224\u65AD\u5143\u7D20\u662F\u5426\u62E5\u6709\u6307\u5B9A\u7684className'],[-1,' * '],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5143\u7D20\u6216\u76EE\u6807\u5143\u7D20\u7684id'],[-1,' * @param {string} className \u8981\u5224\u65AD\u7684className'],[-1,' * '],[-1,' * @return {boolean} \u662F\u5426\u62E5\u6709\u6307\u5B9A\u7684className'],[-1,' *\/'],[1,' lib.hasClass = function (element, className) {'],[3,' var classes = element.className.split(\/\\s+\/);'],[3,' for (var i = 0; i < classes.length; i++) {'],[3,' if (classes[i] === className) {'],[2,' return true;'],[-1,' }'],[-1,' }'],[-1,''],[1,' return false;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u4E3A\u76EE\u6807\u5143\u7D20\u6DFB\u52A0className'],[-1,' * '],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5143\u7D20\u6216\u76EE\u6807\u5143\u7D20\u7684id'],[-1,' * @param {string} className \u8981\u6DFB\u52A0\u7684className'],[-1,' * '],[-1,' * @return {HTMLElement} \u76EE\u6807\u5143\u7D20'],[-1,' *\/'],[1,' lib.addClass = function (element, className) {'],[0,' var classes = element.className ? element.className.split(\/\\s+\/) : [];'],[0,' for (var i = 0; i < classes.length; i++) {'],[0,' if (classes[i] === className) {'],[0,' return element;'],[-1,' }'],[-1,' }'],[-1,''],[0,' classes.push(className);'],[0,' element.className = classes.join(\' \');'],[-1,''],[0,' return element;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6279\u91CF\u6DFB\u52A0className'],[-1,' *'],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5143\u7D20'],[-1,' * @param {Array.<string>} \u9700\u6DFB\u52A0\u7684className'],[-1,' *'],[-1,' * @return {HTMLElement} \u76EE\u6807\u5143\u7D20'],[-1,' *\/'],[1,' lib.addClasses = function (element, classes) {'],[386,' var originalClasses = '],[-1,' element.className ? element.className.split(\/\\s+\/) : [];'],[386,' var map = {};'],[386,' for (var i = 0; i < originalClasses.length; i++) {'],[267,' map[originalClasses[i]] = true;'],[-1,' }'],[-1,''],[386,' var changed = false;'],[386,' for (var i = 0; i < classes.length; i++) {'],[982,' var className = classes[i];'],[982,' if (!map.hasOwnProperty(className)) {'],[894,' originalClasses.push(className);'],[894,' changed = true;'],[-1,' }'],[-1,' }'],[-1,''],[386,' if (changed) {'],[342,' element.className = originalClasses.join(\' \');'],[-1,' }'],[-1,''],[386,' return element;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u79FB\u9664\u76EE\u6807\u5143\u7D20\u7684className'],[-1,' * '],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5143\u7D20\u6216\u76EE\u6807\u5143\u7D20\u7684id'],[-1,' * @param {string} className \u8981\u79FB\u9664\u7684className'],[-1,' * '],[-1,' * @return {HTMLElement} \u76EE\u6807\u5143\u7D20'],[-1,' *\/'],[1,' lib.removeClass = function (element, className) {'],[0,' var classes = element.className ? element.className.split(\/\\s+\/) : [];'],[0,' for (var i = 0; i < classes.length; i++) {'],[0,' if (classes[i] === className) {'],[0,' classes.splice(i, 1);'],[0,' i--;'],[-1,' }'],[-1,' }'],[0,' element.className = classes.join(\' \');'],[-1,''],[0,' return element;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u6279\u91CF\u79FB\u9664className'],[-1,' *'],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5143\u7D20'],[-1,' * @param {Array.<string>} \u9700\u79FB\u9664\u7684className'],[-1,' *'],[-1,' * @return {HTMLElement} \u76EE\u6807\u5143\u7D20'],[-1,' *\/'],[1,' lib.removeClasses = function (element, classes) {'],[246,' var map = {};'],[246,' for (var i = 0; i < classes.length; i++) {'],[508,' map[classes[i]] = true;'],[-1,' }'],[-1,''],[246,' var originalClasses = '],[-1,' element.className ? element.className.split(\/\\s+\/) : [];'],[246,' var finalClasses = [];'],[246,' for (var i = 0; i < originalClasses.length; i++) {'],[310,' var className = originalClasses[i];'],[310,' if (!map.hasOwnProperty(className)) {'],[236,' finalClasses.push(className);'],[-1,' }'],[-1,' }'],[-1,''],[246,' if (finalClasses.length !== originalClasses.length) {'],[29,' element.className = finalClasses.join(\' \');'],[-1,' }'],[-1,''],[246,' return element;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5207\u6362\u76EE\u6807\u5143\u7D20\u7684className'],[-1,' * '],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5143\u7D20\u6216\u76EE\u6807\u5143\u7D20\u7684id'],[-1,' * @param {string} className \u8981\u5207\u6362\u7684className'],[-1,' * '],[-1,' * @return {HTMLElement} \u76EE\u6807\u5143\u7D20'],[-1,' *\/'],[1,' lib.toggleClass = function (element, className) {'],[0,' var classes = element.className ? element.className.split(\/\\s+\/) : [];'],[0,' var containsClass = false;'],[0,' for (var i = 0; i < classes.length; i++) {'],[0,' if (classes[i] === className) {'],[0,' classes.splice(i, 1);'],[0,' containsClass = true;'],[0,' i--;'],[-1,' }'],[-1,' }'],[-1,''],[0,' if (!containsClass) {'],[0,' classes.push(className);'],[-1,' }'],[0,' element.className = classes.join(\' \');'],[-1,''],[0,' return element;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u79FB\u9664\u76EE\u6807\u5143\u7D20'],[-1,' * '],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5143\u7D20\u6216\u76EE\u6807\u5143\u7D20\u7684id'],[-1,' * '],[-1,' *\/'],[1,' lib.removeNode = function (element) {'],[1,' if ( typeof element === \'string\') {'],[0,' element = lib.g(element);'],[-1,' }'],[1,' var parent = element.parentNode;'],[1,' parent.removeChild(element);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u76EE\u6807\u5143\u7D20\u6DFB\u52A0\u5230\u57FA\u51C6\u5143\u7D20\u4E4B\u540E'],[-1,' * '],[-1,' * @param {HTMLElement} newElement \u88AB\u6DFB\u52A0\u7684\u76EE\u6807\u5143\u7D20'],[-1,' * @param {HTMLElement} existElement \u57FA\u51C6\u5143\u7D20'],[-1,' * '],[-1,' * @return {HTMLElement} \u88AB\u6DFB\u52A0\u7684\u76EE\u6807\u5143\u7D20'],[-1,' *\/'],[1,' lib.insertAfter = function (newElement, existElement) {'],[-1,' \/\/ by Tangram 1.x: baidu.dom.insertAfter'],[16,' var existParent = existElement.parentNode;'],[-1,' '],[16,' if (existParent) {'],[16,' existParent.insertBefore(newElement, existElement.nextSibling);'],[-1,' }'],[16,' return newElement;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u76EE\u6807\u5143\u7D20\u6DFB\u52A0\u5230\u57FA\u51C6\u5143\u7D20\u4E4B\u524D'],[-1,' * @param {HTMLElement} newElement \u88AB\u6DFB\u52A0\u7684\u76EE\u6807\u5143\u7D20'],[-1,' * @param {HTMLElement} existElement \u57FA\u51C6\u5143\u7D20'],[-1,' * '],[-1,' * @return {HTMLElement} \u88AB\u6DFB\u52A0\u7684\u76EE\u6807\u5143\u7D20'],[-1,' *\/'],[1,' lib.insertBefore = function (newElement, existElement) {'],[-1,' \/\/ by Tangram 1.x: baidu.dom.insertBefore'],[3,' var existParent = existElement.parentNode;'],[-1,''],[3,' if (existParent) {'],[3,' existParent.insertBefore(newElement, existElement);'],[-1,' }'],[-1,''],[3,' return newElement;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u5B50\u5143\u7D20'],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5143\u7D20'],[-1,' * @param {Array.<HTMLElement>} \u76EE\u6807\u5143\u7D20\u7684\u6240\u6709\u5B50\u5143\u7D20'],[-1,' *\/'],[1,' lib.getChildren = function (element) {'],[31,' var children = element.children;'],[31,' var result = [];'],[31,' for (var i = 0; i < children.length; i++) {'],[7,' var child = children[i];'],[7,' if (child.nodeType === 1) {'],[3,' result.push(child);'],[-1,' }'],[-1,' }'],[-1,''],[31,' return result;'],[-1,' };'],[-1,''],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u8BA1\u7B97\u6837\u5F0F\u503C'],[-1,' *'],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5143\u7D20'],[-1,' * @param {string} key \u6837\u5F0F\u540D\u79F0'],[-1,' * @return {string}'],[-1,' *\/'],[1,' lib.getComputedStyle = function (element, key) {'],[0,' var doc = element.nodeType == 9 '],[-1,' ? element '],[-1,' : element.ownerDocument || element.document;'],[-1,''],[0,' if (doc.defaultView && doc.defaultView.getComputedStyle) {'],[0,' var styles = doc.defaultView.getComputedStyle(element, null);'],[0,' if (styles) {'],[0,' return styles[key] || styles.getPropertyValue(key);'],[-1,' }'],[-1,' }'],[0,' return \'\'; '],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u5143\u7D20\u6837\u5F0F\u503C'],[-1,' *'],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5143\u7D20'],[-1,' * @param {string} key \u6837\u5F0F\u540D\u79F0'],[-1,' * @return {string}'],[-1,' *\/'],[1,' lib.getStyle = function(element, key){'],[0,' key = lib.camelize(key);'],[0,' return element.style[key]'],[-1,' || (element.currentStyle ? element.currentStyle[key] : \"\")'],[-1,' || lib.getComputedStyle(element, key);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u5143\u7D20\u5728\u9875\u9762\u4E2D\u7684\u4F4D\u7F6E\u548C\u5C3A\u5BF8\u4FE1\u606F'],[-1,' *'],[-1,' * @param {HTMLElement} element \u76EE\u6807\u5143\u7D20'],[-1,' * @return {Object} \u5143\u7D20\u7684\u5C3A\u5BF8\u548C\u4F4D\u7F6E\u4FE1\u606F'],[-1,' *\/'],[1,' lib.getOffset = function (element) {'],[14,' var rect = element.getBoundingClientRect();'],[14,' var offset = {'],[-1,' top: rect.top,'],[-1,' right: rect.right,'],[-1,' bottom: rect.bottom,'],[-1,' left: rect.left,'],[-1,' width: rect.right - rect.left,'],[-1,' height: rect.bottom - rect.top'],[-1,' };'],[14,' var clientTop = document.documentElement.clientTop'],[-1,' || document.body.clientTop'],[-1,' || 0;'],[14,' var clientLeft = document.documentElement.clientLeft'],[-1,' || document.body.clientLeft'],[-1,' || 0;'],[14,' var scrollTop = window.pageYOffset'],[-1,' || document.documentElement.scrollTop;'],[14,' var scrollLeft = window.pageXOffset'],[-1,' || document.documentElement.scrollLeft;'],[14,' offset.top = offset.top + scrollTop - clientTop;'],[14,' offset.bottom = offset.bottom + scrollTop - clientTop;'],[14,' offset.left = offset.left + scrollLeft - clientLeft;'],[14,' offset.right = offset.right + scrollLeft - clientLeft;'],[-1,''],[14,' return offset;'],[-1,' };'],[-1,''],[1,' lib.on = function (element, type, listener) {'],[14,' if (element.addEventListener) {'],[14,' element.addEventListener(type, listener, false);'],[-1,' }'],[0,' else if (element.attachEvent) {'],[0,' element.attachEvent(\'on\' + type, listener);'],[-1,' }'],[-1,' };'],[-1,''],[1,' lib.un = function (element, type, listener) {'],[14,' if (element.addEventListener) {'],[14,' element.removeEventListener(type, listener, false);'],[-1,' }'],[0,' else if (element.attachEvent) {'],[0,' element.detachEvent(\'on\' + type, listener);'],[-1,' }'],[-1,' };'],[-1,''],[1,' lib.getText = function (element) {'],[-1,' \/\/ by Tangram 1.x: baidu.dom.getText'],[23,' var ret = \'\';'],[23,' var childs;'],[23,' var i = 0;'],[23,' var l;'],[-1,''],[-1,' \/\/ text \u548C CDATA \u8282\u70B9\uFF0C\u53D6nodeValue'],[23,' if (element.nodeType === 3 || element.nodeType === 4) {'],[-1,''],[9,' ret += element.nodeValue;'],[-1,' } '],[14,' else if (element.nodeType !== 8) {\/\/ 8 \u662F comment Node'],[14,' childs = element.childNodes;'],[-1,''],[14,' for (l = childs.length; i < l; i++) {'],[9,' ret += lib.getText(childs[i]);'],[-1,' }'],[-1,' }'],[-1,''],[23,' return ret;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u68C0\u67E5\u5143\u7D20\u662F\u5426\u6709\u6307\u5B9A\u7684\u5C5E\u6027'],[-1,' *'],[-1,' * @param {HTMLElement} element \u6307\u5B9A\u5143\u7D20'],[-1,' * @param {string} name \u6307\u5B9A\u5C5E\u6027\u540D\u79F0'],[-1,' * @return {string}'],[-1,' *\/'],[1,' lib.hasAttribute = function (element, name) {'],[2,' return element.hasAttribute'],[-1,' ? element.hasAttribute(name)'],[-1,' : (element.attributes[name] && element.attributes[name].specified);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u63D0\u4F9B\u7ED9setAttribute\u4E0EgetAttribute\u65B9\u6CD5\u4F5C\u540D\u79F0\u8F6C\u6362\u4F7F\u7528'],[-1,' * ie6,7\u4E0Bclass\u8981\u8F6C\u6362\u6210className'],[-1,' * @meta standard'],[-1,' *\/'],[1,' lib.NAME_ATTRS = (function () {'],[1,' var result = {'],[-1,' \'cellpadding\': \'cellPadding\','],[-1,' \'cellspacing\': \'cellSpacing\','],[-1,' \'colspan\': \'colSpan\','],[-1,' \'rowspan\': \'rowSpan\','],[-1,' \'valign\': \'vAlign\','],[-1,' \'usemap\': \'useMap\','],[-1,' \'frameborder\': \'frameBorder\''],[-1,' };'],[-1,' '],[1,' if (lib.ie < 8) {'],[0,' result[\'for\'] = \'htmlFor\';'],[0,' result[\'class\'] = \'className\';'],[-1,' } else {'],[1,' result[\'htmlFor\'] = \'for\';'],[1,' result[\'className\'] = \'class\';'],[-1,' }'],[-1,' '],[1,' return result;'],[-1,' })();'],[-1,''],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u5143\u7D20\u5C5E\u6027\uFF0C\u4F1A\u5BF9\u67D0\u4E9B\u503C\u505A\u8F6C\u6362 '],[-1,' * @returns {HTMLElement} \u76EE\u6807\u5143\u7D20'],[-1,' *\/'],[1,' lib.setAttribute = function (element, key, value) {'],[16,' element = lib.g(element);'],[-1,''],[16,' if (\'style\' == key){'],[0,' element.style.cssText = value;'],[-1,' } else {'],[16,' key = lib.NAME_ATTRS[key] || key;'],[16,' element.setAttribute(key, value);'],[-1,' }'],[-1,''],[16,' return element;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u76EE\u6807\u5143\u7D20\u7684\u5C5E\u6027\u503C'],[-1,' * @name baidu.dom.getAttr'],[-1,' * @function'],[-1,' * @grammar baidu.dom.getAttr(element, key)'],[-1,' * @param {HTMLElement|string} element \u76EE\u6807\u5143\u7D20\u6216\u76EE\u6807\u5143\u7D20\u7684id'],[-1,' * @param {string} key \u8981\u83B7\u53D6\u7684attribute\u952E\u540D'],[-1,' * @shortcut getAttr'],[-1,' * @meta standard'],[-1,' * @see baidu.dom.setAttr,baidu.dom.setAttrs'],[-1,' * '],[-1,' * @returns {string|null} \u76EE\u6807\u5143\u7D20\u7684attribute\u503C\uFF0C\u83B7\u53D6\u4E0D\u5230\u65F6\u8FD4\u56DEnull'],[-1,' *\/'],[1,' lib.getAttribute = function (element, key) {'],[0,' element = lib.g(element);'],[-1,''],[0,' if (\'style\' == key){'],[0,' return element.style.cssText;'],[-1,' }'],[-1,''],[0,' key = lib.NAME_ATTRS[key] || key;'],[0,' return element.getAttribute(key);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * page\u547D\u540D\u7A7A\u95F4'],[-1,' * '],[-1,' * @namespace'],[-1,' *\/'],[1,' lib.page = {};'],[-1,''],[1,' var documentElement = document.documentElement;'],[1,' var body = document.body;'],[1,' var viewRoot = document.compatMode == \'BackCompat\' ? body : documentElement;'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u9875\u9762\u5BBD\u5EA6'],[-1,' * '],[-1,' * @return {number} \u9875\u9762\u5BBD\u5EA6'],[-1,' *\/'],[1,' lib.page.getWidth = function () {'],[-1,' \/\/ by Tangram 1.x: baidu.page.getWidth'],[0,' return Math.max('],[-1,' documentElement.scrollWidth, '],[-1,' body.scrollWidth, '],[-1,' viewRoot.clientWidth'],[-1,' );'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u9875\u9762\u9AD8\u5EA6'],[-1,' * '],[-1,' * @return {number} \u9875\u9762\u9AD8\u5EA6'],[-1,' *\/'],[1,' lib.page.getHeight = function () {'],[-1,' \/\/ by Tangram 1.x: baidu.page.getHeight'],[0,' return Math.max('],[-1,' documentElement.scrollHeight, '],[-1,' body.scrollHeight, '],[-1,' viewRoot.clientHeight'],[-1,' );'],[-1,' };'],[-1,''],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u9875\u9762\u89C6\u89C9\u533A\u57DF\u5BBD\u5EA6'],[-1,' *'],[-1,' * @return {number} \u9875\u9762\u89C6\u89C9\u533A\u57DF\u5BBD\u5EA6'],[-1,' *\/'],[1,' lib.page.getViewWidth = function () {'],[0,' return viewRoot.clientWidth;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u9875\u9762\u89C6\u89C9\u533A\u57DF\u9AD8\u5EA6'],[-1,' *'],[-1,' * @return {number} \u9875\u9762\u89C6\u89C9\u533A\u57DF\u9AD8\u5EA6'],[-1,' *\/'],[1,' lib.page.getViewHeight = function () {'],[0,' return viewRoot.clientHeight;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u7EB5\u5411\u6EDA\u52A8\u91CF'],[-1,' *'],[-1,' * @return {number} \u7EB5\u5411\u6EDA\u52A8\u91CF'],[-1,' *\/'],[1,' lib.page.getScrollTop = function () {'],[0,' return window.pageYOffset '],[-1,' || document.documentElement.scrollTop '],[-1,' || document.body.scrollTop;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u6A2A\u5411\u6EDA\u52A8\u91CF'],[-1,' *'],[-1,' * @return {number} \u6A2A\u5411\u6EDA\u52A8\u91CF'],[-1,' *\/'],[1,' lib.page.getScrollLeft = function () {'],[0,' return window.pageXOffset '],[-1,' || document.documentElement.scrollLeft'],[-1,' || document.body.scrollLeft;'],[-1,' };'],[-1,''],[1,' lib.event = {};'],[-1,''],[-1,' \/**'],[-1,' * \u7EC4\u7EC7\u4E8B\u4EF6\u9ED8\u8BA4\u884C\u4E3A'],[-1,' * @param event \u4E8B\u4EF6\u5BF9\u8C61'],[-1,' * @return void'],[-1,' *\/'],[1,' lib.event.preventDefault = function (event) {'],[0,' if (event.preventDefault) {'],[0,' event.preventDefault();'],[-1,' }'],[-1,' else {'],[0,' event.returnValue = false;'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u7EC4\u7EC7\u4E8B\u4EF6\u5192\u6CE1'],[-1,' * @param event \u4E8B\u4EF6\u5BF9\u8C61'],[-1,' * @return void'],[-1,' *\/'],[1,' lib.event.stopPropagation = function (event) {'],[0,' if (event.stopPropagation) {'],[0,' event.stopPropagation();'],[-1,' }'],[-1,' else {'],[0,' event.cancelBubble = true;'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u9F20\u6807\u4F4D\u7F6E'],[-1,' * @param event \u4E8B\u4EF6\u5BF9\u8C61'],[-1,' * @return void'],[-1,' *\/'],[1,' lib.event.getMousePosition = function (e) {'],[0,' var doc = document.documentElement;'],[0,' var body = document.body;'],[-1,''],[0,' e.pageX = e.pageX || ('],[-1,' e.clientX + '],[-1,' (doc && doc.scrollLeft || body && body.scrollLeft || 0) - '],[-1,' (doc && doc.clientLeft || body && body.clientLeft || 0)'],[-1,' );'],[-1,''],[0,' e.pageY = e.pageY || ('],[-1,' e.clientY + '],[-1,' (doc && doc.scrollTop || body && body.scrollTop || 0) - '],[-1,' (doc && doc.clientTop || body && body.clientTop || 0)'],[-1,' );'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u7EC4\u7EC7\u4E8B\u4EF6\u5192\u6CE1'],[-1,' * @param e \u4E8B\u4EF6\u5BF9\u8C61'],[-1,' * @return {object} \u83B7\u53D6\u4E8B\u4EF6\u76EE\u6807\u5BF9\u8C61'],[-1,' *\/'],[1,' lib.event.getTarget = function (e) {'],[2,' e = e || window.event;'],[2,' return e.target || e.srcElement;'],[-1,' };'],[-1,''],[1,' if (\/msie (\\d+\\.\\d+)\/i.test(navigator.userAgent)) {'],[-1,' \/**'],[-1,' * IE\u6D4F\u89C8\u5668\u7248\u672C\u53F7'],[-1,' * '],[-1,' * @type {number}'],[-1,' *\/'],[0,' lib.ie = document.documentMode || + RegExp.$1;'],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * @namespace lib.dom \u64CD\u4F5Cdom\u7684\u65B9\u6CD5\u3002'],[-1,' *\/'],[1,' lib.dom = lib.dom || {};'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u76EE\u6807\u5143\u7D20\u7684\u7B2C\u4E00\u4E2A\u5143\u7D20\u8282\u70B9'],[-1,' * @name lib.dom.first'],[-1,' * @function'],[-1,' * @grammar lib.dom.first(element)'],[-1,' * @param {HTMLElement|String} element \u76EE\u6807\u5143\u7D20\u6216\u76EE\u6807\u5143\u7D20\u7684id'],[-1,' * @meta standard'],[-1,' * @returns {HTMLElement|null} \u76EE\u6807\u5143\u7D20\u7684\u7B2C\u4E00\u4E2A\u5143\u7D20\u8282\u70B9\uFF0C\u67E5\u627E\u4E0D\u5230\u65F6\u8FD4\u56DEnull'],[-1,' *\/'],[1,' lib.dom.first = function (element) {'],[0,' element = lib.g(element);'],[-1,''],[0,' var node = element[\'firstChild\'];'],[0,' for (; node; node = node[\'nextSibling\']) {'],[0,' if (node.nodeType == 1) {'],[0,' return node;'],[-1,' }'],[-1,' }'],[-1,''],[0,' return null;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u76EE\u6807\u5143\u7D20\u7684\u4E0B\u4E00\u4E2A\u5144\u5F1F\u5143\u7D20\u8282\u70B9'],[-1,' * @name lib.dom.next'],[-1,' * @function'],[-1,' * @grammar lib.dom.next(element)'],[-1,' * @param {HTMLElement|string} element \u76EE\u6807\u5143\u7D20\u6216\u76EE\u6807\u5143\u7D20\u7684id'],[-1,' * @meta standard'],[-1,' * @returns {HTMLElement|null} \u76EE\u6807\u5143\u7D20\u7684\u4E0B\u4E00\u4E2A\u5144\u5F1F\u5143\u7D20\u8282\u70B9\uFF0C\u67E5\u627E\u4E0D\u5230\u65F6\u8FD4\u56DEnull'],[-1,' *\/'],[1,' lib.dom.next = function (element) {'],[0,' element = lib.g(element);'],[-1,' '],[0,' var node = element[\'nextSibling\'];'],[0,' for (; node; node = node[\'nextSibling\']) {'],[0,' if (node.nodeType == 1) {'],[0,' return node;'],[-1,' }'],[-1,' }'],[-1,''],[0,' return null;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u5224\u65AD\u4E00\u4E2A\u5143\u7D20\u662F\u5426\u5305\u542B\u53E6\u4E00\u4E2A\u5143\u7D20'],[-1,' * @name lib.dom.contains'],[-1,' * @function'],[-1,' * @grammar lib.dom.contains(container, contained)'],[-1,' * @param {HTMLElement|string} container \u5305\u542B\u5143\u7D20\u6216\u5143\u7D20\u7684id'],[-1,' * @param {HTMLElement|string} contained \u88AB\u5305\u542B\u5143\u7D20\u6216\u5143\u7D20\u7684id'],[-1,' * @meta standard'],[-1,' * @see baidu.dom.intersect'],[-1,' * '],[-1,' * @returns {boolean} contained\u5143\u7D20\u662F\u5426\u88AB\u5305\u542B\u4E8Econtainer\u5143\u7D20\u7684DOM\u8282\u70B9\u4E0A'],[-1,' *\/'],[1,' lib.dom.contains = function (container, contained) {'],[-1,''],[0,' var g = lib.g;'],[0,' container = g(container);'],[0,' contained = g(contained);'],[-1,''],[-1,' \/\/fixme: \u65E0\u6CD5\u5904\u7406\u6587\u672C\u8282\u70B9\u7684\u60C5\u51B5(IE)'],[0,' return container.contains'],[-1,' ? container != contained && container.contains(contained)'],[-1,' : !!(container.compareDocumentPosition(contained) & 16);'],[-1,' };'],[-1,''],[1,' return lib;'],[-1,'});']] |
||||
../src/painters.js | 36 | 20 | 55 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u6E32\u67D3\u5668\u6A21\u5757'],[-1,' * @author otakustay'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[1,' var lib = require(\'.\/lib\');'],[1,' var helper = require(\'.\/controlHelper\');'],[-1,''],[1,' var painters = {};'],[-1,''],[-1,' \/**'],[-1,' * \u4FEE\u6539\u72B6\u6001'],[-1,' *'],[-1,' * @param {string} name \u6307\u5B9A\u8D1F\u8D23\u7684\u5C5E\u6027\u540D\uFF0C\u540C\u65F6\u4E5F\u662F\u72B6\u6001\u540D\u79F0'],[-1,' *\/'],[1,' painters.state = function (name) {'],[0,' return {'],[-1,' name: name,'],[-1,' paint: function (control, value) {'],[0,' var method = value ? \'addState\' : \'removeState\';'],[0,' control[method](this.name);'],[-1,' }'],[-1,' };'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u4FEE\u6539\u5143\u7D20\u5C5E\u6027'],[-1,' *'],[-1,' * @param {string} name \u6307\u5B9A\u8D1F\u8D23\u7684\u5C5E\u6027\u540D'],[-1,' * @param {string=} attribute \u5BF9\u5E94DOM\u5C5E\u6027\u7684\u540D\u79F0\uFF0C\u9ED8\u8BA4\u4E0E`name`\u76F8\u540C'],[-1,' * @param {*=} value \u6307\u5B9ADOM\u5C5E\u6027\u7684\u503C\uFF0C\u9ED8\u8BA4\u4E0E\u66F4\u65B0\u7684\u503C\u76F8\u540C'],[-1,' *\/'],[1,' painters.attribute = function (name, attribute, value) {'],[0,' return {'],[-1,' name: name,'],[-1,' attribute: attribute || name, '],[-1,' value: value,'],[-1,' paint: function (control, value) {'],[0,' value = this.value == null ? value : this.value;'],[0,' control.main.setAttribute(this.attribute, value);'],[-1,' }'],[-1,' };'],[-1,' };'],[-1,''],[-1,' \/\/ \u8FD9\u4E9B\u5C5E\u6027\u4E0D\u7528\u52A0`px`'],[1,' var unitProperties = {'],[-1,' width: true,'],[-1,' height: true,'],[-1,' top: true,'],[-1,' right: true,'],[-1,' bottom: true,'],[-1,' left: true,'],[-1,' fontSize: true,'],[-1,' padding: true,'],[-1,' paddingTop: true, '],[-1,' paddingRight: true,'],[-1,' paddingBottom: true,'],[-1,' paddingLeft: true,'],[-1,' margin: true,'],[-1,' marginTop: true,'],[-1,' marginRight: true,'],[-1,' marginBottom: true,'],[-1,' marginLeft: true,'],[-1,' borderWidth: true,'],[-1,' borderTopWidth: true,'],[-1,' borderRightWidth: true,'],[-1,' borderBottomWidth: true,'],[-1,' borderLeftWidth: true'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u4FEE\u6539`main`\u5143\u7D20\u7684\u6837\u5F0F'],[-1,' *'],[-1,' * @param {string} name \u6307\u5B9A\u8D1F\u8D23\u7684\u5C5E\u6027\u540D'],[-1,' * @param {string=} property \u5BF9\u5E94\u7684\u6837\u5F0F\u5C5E\u6027\u540D\uFF0C\u9ED8\u8BA4\u4E0E`name`\u76F8\u540C'],[-1,' *\/'],[1,' painters.style = function (name, property) {'],[2,' return {'],[-1,' name: name,'],[-1,' property: property || name,'],[-1,' paint: function (control, value) {'],[112,' if (value == null) {'],[112,' return;'],[-1,' }'],[0,' if (unitProperties.hasOwnProperty(this.property)) {'],[0,' value = value === 0 ? \'0\' : value + \'px\';'],[-1,' }'],[0,' control.main.style[this.property] = value;'],[-1,' }'],[-1,' };'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u4FEE\u6539\u6307\u5B9A\u6210\u5458\u7684`innerHTML`'],[-1,' *'],[-1,' * @param {string} name \u6307\u5B9A\u8D1F\u8D23\u7684\u5C5E\u6027\u540D'],[-1,' * @param {string=|function=} element \u6307\u5B9ADOM\u5143\u7D20\u5728\u5F53\u524D\u63A7\u4EF6\u4E0B\u7684id\uFF0C'],[-1,' * \u6CE8\u610F\u8FD9\u4E2Aid\u5E76\u4E0D\u662FDOM\u5143\u7D20\u7684\u771F\u5B9Eid\uFF0C\u800C\u662F\u63A7\u4EF6\u7684id\u4E4B\u540E\u7684\u90E8\u5206\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A\u5B57\u7B26\u4E32'],[-1,' * @param {function=} generate \u6307\u5B9A\u751F\u6210HTML\u7684\u51FD\u6570'],[-1,' *\/'],[1,' painters.html = function (name, element, generate) {'],[4,' return {'],[-1,' name: name,'],[-1,' element: element || \'\','],[-1,' generate: generate,'],[-1,' paint: function (control, value) {'],[77,' var element = typeof this.element === \'function\''],[-1,' ? this.element(control)'],[-1,' : lib.g(helper.getId(control, this.element));'],[77,' if (element) {'],[13,' var html = typeof this.generate === \'function\''],[-1,' ? this.generate(control, value)'],[-1,' : value;'],[13,' element.innerHTML = html || \'\';'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u4FEE\u6539\u6307\u5B9A\u6210\u5458\u7684`innerText`'],[-1,' *'],[-1,' * @param {string} name \u6307\u5B9A\u8D1F\u8D23\u7684\u5C5E\u6027\u540D'],[-1,' * @param {string=|function=} element \u6307\u5B9A\u6210\u5458\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A\u5B57\u7B26\u4E32'],[-1,' * @param {function=} generate \u6307\u5B9A\u751F\u6210HTML\u7684\u51FD\u6570\uFF0C'],[-1,' * \u8BE5\u51FD\u6570\u53EA\u8FD4\u56DEHTML\uFF0C\u4E0D\u9700\u8981\u8F6C\u4E49'],[-1,' *\/'],[1,' painters.text = function (name, element, generate) {'],[0,' return {'],[-1,' name: name,'],[-1,' element: element || \'\','],[-1,' generate: generate,'],[-1,' paint: function (control, value) {'],[0,' var element = typeof this.element === \'function\''],[-1,' ? this.element(control)'],[-1,' : lib.g(helper.getId(control, this.element));'],[0,' if (element) {'],[0,' var html = typeof this.generate === \'function\''],[-1,' ? this.generate(control, value)'],[-1,' : value;'],[0,' element.innerHTML = lib.encodeHTML(html || \'\');'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,' };'],[-1,''],[-1,''],[-1,' \/**'],[-1,' * \u5C06\u4FEE\u6539\u4EE3\u7406\u5230\u6307\u5B9A\u6210\u5458\u7684\u6307\u5B9A\u65B9\u6CD5\u4E0A'],[-1,' *'],[-1,' * @param {string} name \u6307\u5B9A\u8D1F\u8D23\u7684\u5C5E\u6027\u540D'],[-1,' * @param {string} member \u6307\u5B9A\u6210\u5458\u540D'],[-1,' * @param {string} method \u6307\u5B9A\u8C03\u7528\u7684\u65B9\u6CD5\u540D\u79F0'],[-1,' *\/'],[1,' painters.delegate = function (name, member, method) {'],[0,' return {'],[-1,' name: name,'],[-1,' member: this.member,'],[-1,' method: this.method,'],[-1,' paint: function (control, value) {'],[0,' control[this.member][this.method](value);'],[-1,' }'],[-1,' };'],[-1,' };'],[-1,''],[1,' return painters;'],[-1,' }'],[-1,');']] |
||||
../src/InputControl.js | 84 | 33 | 39 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u8F93\u5165\u63A7\u4EF6\u57FA\u7C7B\u6A21\u5757'],[-1,' * @author erik, otakustay'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[1,' var lib = require(\'.\/lib\');'],[1,' var helper = require(\'.\/controlHelper\');'],[1,' var Control = require(\'.\/Control\');'],[-1,''],[-1,' \/**'],[-1,' * \u6821\u9A8C'],[-1,' *'],[-1,' * @param {InputControl} control \u76EE\u6807\u63A7\u4EF6'],[-1,' * @return {Validity}'],[-1,' * @inner'],[-1,' *\/'],[1,' function checkValidity(control) {'],[0,' var Validity = require(\'.\/validator\/Validity\');'],[0,' var validity = new Validity();'],[0,' var eventArg = {'],[-1,' validity: validity'],[-1,' };'],[0,' control.fire(\'beforevalidate\', eventArg);'],[-1,''],[-1,' \/\/ \u9A8C\u8BC1\u5408\u6CD5\u6027'],[0,' var rules = ui.createRulesByControl(control);'],[0,' for (var i = 0, len = rules.length; i < len; i++) {'],[0,' var rule = rules[i];'],[0,' validity.addState( '],[-1,' rule.getName(), '],[-1,' rule.check(control.getValue(), control)'],[-1,' );'],[-1,' }'],[-1,''],[-1,' \/\/ \u89E6\u53D1invalid\u548Caftervalidate\u4E8B\u4EF6'],[-1,' \/\/ \u8FD9\u4E24\u4E2A\u4E8B\u4EF6\u4E2D\u7528\u6237\u53EF\u80FD\u4F1A\u5BF9validity\u8FDB\u884C\u4FEE\u6539\u64CD\u4F5C'],[-1,' \/\/ \u6240\u4EE5validity.isValid()\u7ED3\u679C\u4E0D\u80FD\u7F13\u5B58'],[0,' if (!validity.isValid()) {'],[0,' control.fire(\'invalid\', eventArg);'],[-1,' }'],[0,' control.fire(\'aftervalidate\', eventArg);'],[-1,''],[0,' return validity;'],[-1,' }'],[-1,' '],[-1,' \/**'],[-1,' * \u8F93\u5165\u63A7\u4EF6\u57FA\u7C7B'],[-1,' * '],[-1,' * @constructor'],[-1,' * @param {Object} options \u521D\u59CB\u5316\u53C2\u6570'],[-1,' *\/'],[1,' function InputControl(options) {'],[90,' options = options ? lib.extend({}, options) : {};'],[90,' if (options.main && !options.name) {'],[8,' options.name = options.main.getAttribute(\'name\');'],[-1,' }'],[90,' Control.call(this, options);'],[-1,' }'],[-1,''],[1,' InputControl.prototype = {'],[-1,' constructor: InputControl,'],[-1,''],[-1,' \/**'],[-1,' * \u6307\u5B9A\u5728\u54EA\u4E9B\u72B6\u6001\u4E0B\u8BE5\u5143\u7D20\u4E0D\u5904\u7406\u76F8\u5173\u7684DOM\u4E8B\u4EF6'],[-1,' *'],[-1,' * @type {Array.<string>}'],[-1,' * @protected'],[-1,' *\/'],[-1,' ignoreStates: Control.prototype.ignoreStates.concat(\'readOnly\'),'],[-1,''],[-1,' \/**'],[-1,' * \u6E32\u67D3\u63A7\u4EF6'],[-1,' * '],[-1,' * @override'],[-1,' *\/'],[-1,' initStructure: function () {'],[-1,' },'],[-1,''],[-1,' \/\/ repaint: function () {'],[-1,' \/\/ TODO: \u4FEE\u6539\u4E3Apainter\u5B9E\u73B0'],[-1,' \/\/ this.setRawValue(this.rawValue);'],[-1,' \/\/ this.setReadOnly(this.readOnly);'],[-1,' \/\/ },'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u8F93\u5165\u63A7\u4EF6\u7684\u503C'],[-1,' * '],[-1,' * @return {string} '],[-1,' *\/'],[-1,' getValue: function () {'],[7,' return this.stringifyValue(this.getRawValue());'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u8F93\u5165\u63A7\u4EF6\u7684\u503C'],[-1,' * '],[-1,' * @param {string} value \u8F93\u5165\u63A7\u4EF6\u7684\u503C'],[-1,' *\/'],[-1,' setValue: function (value) {'],[3,' var rawValue = this.parseValue(value);'],[3,' this.setRawValue(rawValue);'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u8F93\u5165\u63A7\u4EF6\u7684\u539F\u59CB\u503C'],[-1,' * '],[-1,' * @return {string} '],[-1,' *\/'],[-1,' getRawValue: function () {'],[31,' return this.rawValue;'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u8F93\u5165\u63A7\u4EF6\u7684\u539F\u59CB\u503C'],[-1,' * '],[-1,' * @param {string} rawValue \u8F93\u5165\u63A7\u4EF6\u7684\u539F\u59CB\u503C'],[-1,' *\/'],[-1,' setRawValue: function (rawValue) {'],[6,' this.setProperties({ rawValue: rawValue });'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u6279\u91CF\u8BBE\u7F6E\u63A7\u4EF6\u7684\u5C5E\u6027\u503C'],[-1,' * '],[-1,' * @override'],[-1,' * @param {Object} properties \u5C5E\u6027\u503C\u96C6\u5408'],[-1,' *\/'],[-1,' setProperties: function (properties) {'],[-1,' \/\/ \u5F53value\u548CrawValue\u540C\u65F6\u5B58\u5728\u65F6\uFF0C\u4EE5rawValue\u4E3A\u51C6'],[-1,' \/\/ \u5426\u5219\uFF0C\u5C06value\u89E3\u6790\u6210rawValue'],[158,' var value = properties.value;'],[158,' delete properties.value;'],[158,' if (value != null && properties.rawValue == null) {'],[23,' properties.rawValue = this.parseValue(value);'],[-1,' }'],[-1,''],[158,' return Control.prototype.setProperties.call(this, properties);'],[-1,' },'],[-1,''],[-1,' repaint: helper.createRepaint('],[-1,' Control.prototype.repaint,'],[-1,' {'],[-1,' name: \'disabled\','],[-1,' paint: function (control, value) {'],[58,' var nodeName = control.main.nodeName.toLowerCase();'],[58,' if (nodeName === \'input\''],[-1,' || nodeName === \'select\''],[-1,' || nodeName === \'textarea\''],[-1,' ) {'],[0,' control.main.disabled = value;'],[-1,' }'],[-1,' }'],[-1,' },'],[-1,' {'],[-1,' name: \'readOnly\','],[-1,' paint: function (control, value) {'],[57,' var method = value ? \'addState\' : \'removeState\';'],[57,' control[method](\'readOnly\');'],[57,' var nodeName = control.main.nodeName.toLowerCase();'],[57,' if (nodeName === \'input\''],[-1,' || nodeName === \'select\''],[-1,' || nodeName === \'textarea\''],[-1,' ) {'],[0,' control.main.readOnly = value;'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,' ),'],[-1,''],[-1,' \/**'],[-1,' * \u5C06value\u4ECE\u539F\u59CB\u683C\u5F0F\u8F6C\u6362\u6210string'],[-1,' * \u590D\u6742\u7C7B\u578B\u7684\u8F93\u5165\u63A7\u4EF6\u9700\u8981override\u6B64\u63A5\u53E3'],[-1,' * '],[-1,' * @param {*} rawValue \u539F\u59CB\u503C'],[-1,' * @return {string}'],[-1,' *\/'],[-1,' stringifyValue: function (rawValue) {'],[7,' return rawValue != null ? (rawValue + \'\') : \'\';'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u5C06string\u7C7B\u578B\u7684value\u8F6C\u6362\u6210\u539F\u59CB\u683C\u5F0F'],[-1,' * \u590D\u6742\u7C7B\u578B\u7684\u8F93\u5165\u63A7\u4EF6\u9700\u8981override\u6B64\u63A5\u53E3'],[-1,' * '],[-1,' * @param {string} value \u5B57\u7B26\u4E32\u503C'],[-1,' * @return {*}'],[-1,' *\/'],[-1,' parseValue: function (value) {'],[26,' return value;'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u63A7\u4EF6\u7684\u53EA\u8BFB\u72B6\u6001'],[-1,' * '],[-1,' * @param {boolean} readOnly \u662F\u5426\u53EA\u8BFB'],[-1,' *\/'],[-1,' setReadOnly: function (readOnly) {'],[1,' readOnly = !!readOnly;'],[1,' this[readOnly ? \'addState\' : \'removeState\'](\'readOnly\');'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u5224\u8BFB\u63A7\u4EF6\u662F\u5426\u5904\u4E8E\u53EA\u8BFB\u72B6\u6001'],[-1,' * '],[-1,' * @return {boolean}'],[-1,' *\/'],[-1,' isReadOnly: function () {'],[0,' return this.hasState(\'readOnly\');'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u9A8C\u8BC1\u63A7\u4EF6\uFF0C\u4EC5\u8FD4\u56DEtrue\/false'],[-1,' * '],[-1,' * @return {boolean}'],[-1,' *\/'],[-1,' checkValidity: function () {'],[0,' var validity = checkValidity(this);'],[0,' return validity.isValid();'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u9A8C\u8BC1\u63A7\u4EF6\uFF0C\u5F53\u503C\u4E0D\u5408\u6CD5\u65F6\u663E\u793A\u9519\u8BEF\u4FE1\u606F'],[-1,' * '],[-1,' * @return {boolean}'],[-1,' *\/'],[-1,' validate: function () {'],[0,' var validity = checkValidity(this);'],[0,' this.showValidity(validity);'],[0,' return validity.isValid();'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u663E\u793A\u9A8C\u8BC1\u4FE1\u606F\u7528\u7684\u5143\u7D20'],[-1,' *'],[-1,' * @return {HTMLElement}'],[-1,' * @public'],[-1,' *\/'],[-1,' getValidityLabel: function () {'],[0,' if (!helper.isInStage(this, \'RENDERED\')) {'],[0,' return null;'],[-1,' }'],[-1,''],[0,' var label = lib.g(this.validityLabel);'],[0,' if (!label) {'],[0,' label = document.createElement(\'label\');'],[0,' label.id = helper.getId(this, \'validity\');'],[0,' label.className = \'ui-validity\';'],[0,' helper.addPartClasses(this, \'validity\', label);'],[0,' if (lib.isInput(this.main)) {'],[0,' lib.setAttribute(label, \'for\', this.main.id);'],[-1,' }'],[-1,' else {'],[0,' var nestedInput = '],[-1,' this.main.getElementsByTagName(\'input\')[0]'],[-1,' || this.main.getElementsByTagName(\'textarea\')[0]'],[-1,' || this.main.getElementsByTagName(\'select\')[0];'],[0,' if (nestedInput && nestedInput.type !== \'hidden\') {'],[0,' lib.setAttribute(label, \'for\', nestedInput.id);'],[-1,' }'],[-1,' }'],[0,' lib.insertAfter(label, this.main);'],[-1,' }'],[-1,' },'],[-1,''],[-1,' \/**'],[-1,' * \u663E\u793A\u9A8C\u8BC1\u4FE1\u606F'],[-1,' *'],[-1,' * @param {Validity} \u9A8C\u8BC1\u7ED3\u679C'],[-1,' * @public'],[-1,' *\/'],[-1,' showValidity: function (validity) {'],[0,' var label = this.getValidityLabel();'],[-1,''],[0,' if (!label) {'],[0,' return;'],[-1,' }'],[-1,''],[0,' if (validity.isValid()) {'],[0,' label.innerHTML = \'\';'],[0,' helper.removePartClasses(this, \'validity-invalid\', label);'],[0,' helper.addPartClasses(this, \'validity-valid\', label);'],[-1,' }'],[-1,' else {'],[0,' var message = \'\';'],[0,' var states = validity.getStates();'],[0,' for (var i = 0; i < states.length; i++) {'],[0,' var state = states[i];'],[0,' if (!state.getState()) {'],[0,' message = state.getMessage();'],[0,' break;'],[-1,' }'],[-1,' }'],[0,' label.innerHTML = message;'],[0,' helper.removePartClasses(this, \'validity-valid\', label);'],[0,' helper.addPartClasses(this, \'validity-invalid\', label);'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,''],[1,' require(\'.\/lib\').inherits(InputControl, Control);'],[1,' return InputControl;'],[-1,' }'],[-1,');']] |
||||
../src/Form.js | 98 | 33 | 33 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise Simple UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u8868\u5355\u63A7\u4EF6'],[-1,' * @author otakustay'],[-1,' *\/'],[-1,''],[1,'define('],[-1,' function (require) {'],[1,' var lib = require(\'.\/lib\');'],[1,' var main = require(\'.\/main\');'],[1,' var Panel = require(\'.\/Panel\');'],[-1,''],[-1,' \/**'],[-1,' * \u8F93\u5165\u63A7\u4EF6\u96C6\u5408\u7C7B'],[-1,' *'],[-1,' * @param {Array.<InputControl>} inputs \u7BA1\u7406\u7684\u8F93\u5165\u63A7\u4EF6'],[-1,' * @inner'],[-1,' *\/'],[1,' function InputCollection(inputs) {'],[0,' this.inputs = inputs;'],[0,' for (var i = 0; i < inputs.length; i++) {'],[0,' this[i] = inputs[i];'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/\/ \u4E3A\u4E86\u8BA9Firebug\u8BA4\u4E3A\u8FD9\u662F\u4E2A\u6570\u7EC4'],[1,' InputCollection.prototype.splice = Array.prototype.splice;'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u8868\u5355\u6570\u636E\uFF0C\u5F62\u6210\u4EE5`name`\u4E3A\u952E\uFF0C`rawValue`\u4E3A\u503C\u7684\u5BF9\u8C61\uFF0C'],[-1,' * \u5982\u679C\u6709\u540C`name`\u7684\u591A\u4E2A\u63A7\u4EF6\uFF0C\u5219\u503C\u4E3A\u6570\u7EC4'],[-1,' *'],[-1,' * @param {Object} \u8868\u5355\u7684\u6570\u636E'],[-1,' * @public'],[-1,' *\/'],[1,' InputCollection.prototype.getData = function () {'],[0,' var store = {};'],[0,' for (var i = 0; i < this.inputs.length; i++) {'],[0,' var control = this.inputs[i];'],[0,' var name = control.get(\'name\');'],[0,' var value = control.getRawValue();'],[0,' if (store.hasOwnProperty(name)) {'],[0,' store[name] = [].concat(store[name], value);'],[-1,' }'],[-1,' else {'],[0,' store[name] = value;'],[-1,' }'],[-1,' }'],[0,' return store;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u5B57\u7B26\u4E32\u5F62\u5F0F\u7684\u63A7\u4EF6\u503C'],[-1,' *'],[-1,' * @param {string=} name \u6307\u5B9A\u63A7\u4EF6\u7684`name`\u5C5E\u6027'],[-1,' * @return {string} \u7528\u9017\u53F7\u5206\u9694\u7684\u503C'],[-1,' * @public'],[-1,' *\/'],[1,' InputCollection.prototype.getValueAsString = function (name) {'],[0,' var data = this.getData();'],[0,' var values = data[name];'],[0,' var valueString = values'],[-1,' ? (typeof value === \'string\' ? value : value.join(\',\'))'],[-1,' : \'\';'],[0,' return valueString;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u52FE\u9009\u5168\u90E8\u63A7\u4EF6'],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' InputCollection.prototype.checkAll = function () {'],[0,' for (var i = 0; i < this.length; i++) {'],[0,' var control = this[i];'],[0,' if (typeof control.setChecked === \'function\') {'],[0,' control.setChecked(true);'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u53D6\u6D88\u52FE\u9009\u6240\u6709\u63A7\u4EF6'],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' InputCollection.prototype.uncheckAll = function () {'],[0,' for (var i = 0; i < this.length; i++) {'],[0,' var control = this[i];'],[0,' if (typeof control.setChecked === \'function\') {'],[0,' control.setChecked(false);'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u53CD\u9009\u63A7\u4EF6'],[-1,' *'],[-1,' * @public'],[-1,' *\/'],[1,' InputCollection.prototype.checkInverse = function () {'],[0,' for (var i = 0; i < this.length; i++) {'],[0,' var control = this[i];'],[0,' if (typeof control.setChecked === \'function\') {'],[0,' control.setChecked(!control.isChecked());'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u9009\u4E2D\u7ED9\u5B9A\u503C\u7684\u63A7\u4EF6'],[-1,' *'],[-1,' * @param {Array.<string>} values \u7ED9\u5B9A\u7684\u503C'],[-1,' * @public'],[-1,' *\/'],[1,' InputCollection.prototype.checkByValue = function (values) {'],[0,' var map = {};'],[0,' for (var i = 0; i < values.length; i++) {'],[0,' map[values[i]] = true;'],[-1,' }'],[-1,''],[0,' for (var i = 0; i < this.length; i++) {'],[0,' var control = this[i];'],[0,' if (typeof control.setChecked === \'function\') {'],[0,' control.setChecked(map[control.getValue()]);'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u8868\u5355\u63A7\u4EF6'],[-1,' *'],[-1,' * @param {Object=} options \u6784\u9020\u63A7\u4EF6\u7684\u9009\u9879'],[-1,' * @constructor'],[-1,' *\/'],[1,' function Form(options) {'],[6,' Panel.apply(this, arguments);'],[-1,' }'],[-1,''],[1,' Form.prototype.type = \'Form\';'],[-1,''],[-1,' \/**'],[-1,' * \u521B\u5EFA\u4E3B\u5143\u7D20'],[-1,' *'],[-1,' * @param {Object} options \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u53C2\u6570'],[-1,' * @return {HTMLElement} \u4E3B\u5143\u7D20'],[-1,' * @protected'],[-1,' *\/'],[1,' Form.prototype.createMain = function (options) {'],[4,' var form = document.createElement(\'form\');'],[4,' form.method = \'POST\';'],[4,' form.action = options.action;'],[4,' return form;'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u521D\u59CB\u5316\u53C2\u6570'],[-1,' *'],[-1,' * @param {Object} options \u6784\u9020\u51FD\u6570\u4F20\u5165\u7684\u53C2\u6570'],[-1,' * @protected'],[-1,' *\/'],[1,' Form.prototype.initOptions = function (options) {'],[6,' Panel.prototype.initOptions.call(this, options);'],[6,' if (this.main.nodeName.toLowerCase() === \'form\') {'],[5,' this.action = this.main.getAttribute(\'action\');'],[5,' this.method = this.main.getAttribute(\'method\');'],[-1,' }'],[-1,' else {'],[1,' this.method = this.method || \'POST\';'],[-1,' }'],[-1,' };'],[-1,''],[1,' Form.prototype.repaint = function (changes, changesIndex) {'],[0,' Control.prototype.repaint.apply(this, arguments);'],[-1,''],[0,' var shouldAttachSubmit = false;'],[0,' if (!changesIndex && this.submitButton) {'],[0,' shouldAttachSubmit = true;'],[-1,' }'],[0,' else if (changesIndex '],[-1,' && changesIndex.hasOwnProperty(\'submitButton\')'],[-1,' ) {'],[0,' var record = changesIndex.submitButton;'],[0,' if (record.oldValue) {'],[0,' var oldButton = this.viewContext.get(record.oldValue);'],[0,' if (oldButton && this.submitHandler) {'],[0,' oldButton.un(\'click\', this.submitHandler);'],[-1,' }'],[-1,''],[0,' shouldAttachSubmit = !!this.submitButton;'],[-1,' }'],[-1,' }'],[-1,''],[0,' if (shouldAttachSubmit) {'],[0,' var button = this.viewContext.get(this.submitButton);'],[0,' if (button) {'],[0,' this.submitHandler = function () { this.fire(\'submit\'); };'],[0,' button.on(\'click\', this.submitHandler);'],[-1,' }'],[-1,' }'],[-1,' };'],[-1,''],[1,' var InputControl = require(\'.\/InputControl\');'],[-1,''],[-1,' \/**'],[-1,' * \u6839\u636E\u540D\u79F0\u53CA\u53EF\u9009\u7684\u7C7B\u578B\u83B7\u53D6\u8F93\u5165\u63A7\u4EF6'],[-1,' * '],[-1,' * \u8FD9\u4E2A\u65B9\u6CD5\u8FD4\u56DE\u7B26\u5408\u4EE5\u4E0B\u8981\u6C42\u7684\u63A7\u4EF6\uFF1A'],[-1,' * '],[-1,' * - \u662F`InputControl`'],[-1,' * - `name`\u548C`type`\u7B26\u5408\u8981\u6C42'],[-1,' * - \u4E3B\u5143\u7D20\u5728\u5F53\u524D`Form`\u7684\u4E3B\u5143\u7D20\u4E0B'],[-1,' * - \u4E0E\u5F53\u524D\u7684`Form`\u4F7F\u7528\u540C\u4E00\u4E2A`ViewContext`'],[-1,' * - \u4E0D\u4F5C\u4E3A\u53E6\u4E00\u4E2A`InputControl`\u7684\u5B50\u63A7\u4EF6'],[-1,' *'],[-1,' * @param {string=} name \u63A7\u4EF6\u7684name\u5C5E\u6027'],[-1,' * @param {string=} type \u63A7\u4EF6\u7684\u7C7B\u578B'],[-1,' * @return {InputCollection}'],[-1,' * @public'],[-1,' *\/'],[1,' Form.prototype.getInputControls = function (name, type) {'],[0,' var elements = [].concat('],[-1,' lib.toArray(this.main.getElementsByTagName(\'input\')),'],[-1,' lib.toArray(this.main.getElementsByTagName(\'select\')),'],[-1,' lib.toArray(this.main.getElementsByTagName(\'textarea\'))'],[-1,' );'],[0,' var result = [];'],[-1,' '],[0,' for (var i = 0; i < elements.length; i++) {'],[0,' var element = elements[i];'],[0,' var control = main.getControlByDOM(element);'],[0,' if (control'],[-1,' && control instanceof InputControl'],[-1,' && control.viewContext === this.viewContext'],[-1,' && control.get(\'name\')'],[-1,' && (!name || control.get(\'name\') === name)'],[-1,' && (!type || control.get(\'type\') === type)'],[-1,' ) {'],[0,' var parent = control.parent;'],[-1,' \/\/ \u5982\u679C\u4E00\u4E2A\u8F93\u5165\u63A7\u4EF6\u662F\u5728\u53E6\u4E00\u4E2A\u8F93\u5165\u63A7\u4EF6\u4E2D\u7684\uFF0C\u5219\u4E0D\u9700\u8981\u5B83'],[0,' while (parent && !(parent instanceof InputControl)) {'],[0,' parent = parent.parent;'],[-1,' }'],[0,' if (!(parent instanceof InputControl)) {'],[0,' result.push(control);'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[0,' return new InputCollection(result);'],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u8868\u5355\u6570\u636E\uFF0C\u5F62\u6210\u4EE5`name`\u4E3A\u952E\uFF0C`rawValue`\u4E3A\u503C\u7684\u5BF9\u8C61\uFF0C'],[-1,' * \u5982\u679C\u6709\u540C`name`\u7684\u591A\u4E2A\u63A7\u4EF6\uFF0C\u5219\u503C\u4E3A\u6570\u7EC4'],[-1,' *'],[-1,' * @param {Object} \u8868\u5355\u7684\u6570\u636E'],[-1,' * @public'],[-1,' *\/'],[1,' Form.prototype.getData = function () {'],[0,' var inputs = this.getInputControls();'],[0,' return inputs.getData();'],[-1,' };'],[-1,''],[1,' lib.inherits(Form, Panel);'],[1,' require(\'.\/main\').register(Form);'],[1,' return Form;'],[-1,' }'],[-1,');']] |
||||
../src/validator/Validity.js | 30 | 9 | 30 % |
|
[[-1,'\/**'],[-1,' * ESUI (Enterprise UI)'],[-1,' * Copyright 2013 Baidu Inc. All rights reserved.'],[-1,' * '],[-1,' * @file \u9A8C\u8BC1\u4FE1\u606F\u7C7B'],[-1,' * @author DBear'],[-1,' *\/'],[1,'define('],[-1,' function () {'],[-1,' \/**'],[-1,' * Validity\u7C7B\u58F0\u660E'],[-1,' *'],[-1,' * @constructor'],[-1,' *\/'],[1,' function Validity() {'],[-1,' \/**'],[-1,' * \u72B6\u6001\u96C6\u5408List'],[-1,' * @type {Array} '],[-1,' *\/'],[0,' this.states = [];'],[-1,''],[-1,' \/**'],[-1,' * \u72B6\u6001\u96C6\u5408Map'],[-1,' * @type {Object} '],[-1,' *\/'],[0,' this.stateIndex = {};'],[-1,''],[-1,' \/**'],[-1,' * \u81EA\u5B9A\u4E49\u9A8C\u8BC1\u4FE1\u606F'],[-1,' * @type {string} '],[-1,' *\/'],[0,' this.customMessage = \'\';'],[-1,' '],[-1,' }'],[-1,''],[-1,' \/**'],[-1,' * \u6DFB\u52A0\u9A8C\u8BC1\u72B6\u6001'],[-1,' *'],[-1,' * @param {string} name \u72B6\u6001\u540D'],[-1,' * @param {validator\/ValidityState} state \u89C4\u5219\u9A8C\u8BC1\u72B6\u6001\u5BF9\u8C61'],[-1,' *\/'],[1,' Validity.prototype.addState = function (name, state) {'],[-1,''],[-1,' \/\/\u5982\u679C\u72B6\u6001\u540D\u5DF2\u5B58\u5728'],[0,' if (this.stateIndex[name]) {'],[-1,' \/\/ \u540C\u6837\u7684\u72B6\u6001\u5BF9\u8C61\uFF0C\u4E0D\u5904\u7406'],[0,' if (this.statesMap[name] === state) {'],[0,' return;'],[-1,' }'],[-1,''],[-1,' \/\/ \u4E0D\u4E00\u6837\uFF0C\u5220\u9664\u539Flist\u4E2D\u5143\u7D20'],[0,' for (var i = 0; i < this.states.length; i++) {'],[0,' if (this.states[i] === this.stateIndex[name]) {'],[0,' this.states.splice(i, 1);'],[0,' break;'],[-1,' }'],[-1,' }'],[-1,' }'],[-1,''],[-1,' \/\/ \u66F4\u65B0\u6570\u636E'],[0,' this.states.push(state);'],[0,' this.stateIndex[name] = state;'],[-1,''],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u9A8C\u8BC1\u72B6\u6001'],[-1,' *'],[-1,' * @param {string} name \u72B6\u6001\u540D'],[-1,' * @return {validator\/ValidityState} \u89C4\u5219\u9A8C\u8BC1\u72B6\u6001\u5BF9\u8C61'],[-1,' *\/'],[1,' Validity.prototype.getState = function (name) {'],[-1,''],[0,' return this.statesMap[name];'],[-1,''],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u9A8C\u8BC1\u72B6\u6001\u96C6\u5408'],[-1,' *'],[-1,' * @return {Array}'],[-1,' *\/'],[1,' Validity.prototype.getStates = function () {'],[-1,''],[0,' return this.states.slice();'],[-1,''],[-1,' };'],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u81EA\u5B9A\u4E49\u9A8C\u8BC1\u4FE1\u606F'],[-1,' *'],[-1,' * @return {string} '],[-1,' *\/'],[1,' Validity.prototype.getCustomMessage = function () {'],[-1,''],[0,' return this.customMessage;'],[-1,''],[-1,' };'],[-1,''],[-1,''],[-1,' \/**'],[-1,' * \u8BBE\u7F6E\u81EA\u5B9A\u4E49\u9A8C\u8BC1\u4FE1\u606F'],[-1,' *'],[-1,' *\/'],[1,' Validity.prototype.setCustomMessage = function (message) {'],[-1,''],[0,' this.customMessage = message;'],[-1,''],[-1,' };'],[-1,''],[-1,''],[-1,' \/**'],[-1,' * \u83B7\u53D6\u6574\u4F53\u662F\u5426\u9A8C\u8BC1\u901A\u8FC7'],[-1,' *'],[-1,' * @return {boolean} '],[-1,' *\/'],[1,' Validity.prototype.isValid = function () {'],[-1,''],[0,' var states = this.getstates();'],[-1,''],[0,' for (var i = 0; i < states.length; i ++) {'],[0,' if (!states[i].getState()) {'],[0,' return false;'],[-1,' }'],[-1,' }'],[-1,''],[0,' return true;'],[-1,''],[-1,' };'],[-1,''],[1,' return Validity;'],[-1,''],[-1,' }'],[-1,');']] |