UNPKG

vesh-cli

Version:

码农村nodejs版本VESH框架脚手架搭建器

69 lines 2.92 kB
(function(V, W, $) { V.registScript(function(path, vm) { var _ = this, __ = {}; { V.inherit.apply(_, [W.Control, [V.getValue(path, '<span class="c_textArea"><span style="display:none;"></span><textarea></textarea></span>'), V.getValue(vm, { data: { rows: '10', cols: '60' } })]]); __.render = _.render; __.onLoad = _.onLoad; } _.onLoad = function(node) { __.txt = node.find('span:first'); __.input = node.find('textarea:first'); V.forC(_.events, function(k, v) { switch (k) { case 'error': if (_.get().validate) { _.validate(_, __.input); } break; default: _.bindEvent(__.input, k, v); break; } }, function() { __.onLoad(node); }, true); }; _.fill = function(node) { var value = $.trim(__.input.val()); value = (value == _.vm.data.title || value == _.vm.data.error) ? "" : value; return { text: value, value: value }; }; _.render = function(data) { V.forC(data, function(key, value) { switch (key.toLowerCase()) { case 'rows': __.input.attr('rows', value); delete data[key]; break; case 'cols': __.input.attr('cols', value); delete data[key]; break; case 'text': case 'value': if (typeof(value) != 'boolean' && 'false' != ('' + value).toLowerCase() && 'undefined' != ('' + value).toLowerCase()) { __.input.scrollTop(0) __.input.val(value); if (_.vm.data.title && !V.isValid(value)) __.input.val(_.vm.data.title); } else { delete _.vm.data.value; delete _.vm.data.text; __.input.val(''); } break; case 'key': __.txt.text(value).show(); delete data[key]; break; case 'enable': if (value) { __.input.removeAttr('disabled'); } else { __.input.attr('disabled', 'disabled'); } break; } }, function() { __.render(data) }); return data; }; }); })(VJ, VJ.view, jQuery);