首页 > 代码库 > selleck - 分子库入库 instock-js
selleck - 分子库入库 instock-js
// Generated by CoffeeScript 1.10.0 var Model, model, bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; model = null; $(function() { var dropZone; model = new Model(); ko.applyBindings(model); dropZone = document.getElementById(‘drop-zone‘); dropZone.addEventListener(‘dragenter‘, model.stopPropagation); dropZone.addEventListener(‘dragover‘, model.stopPropagation); return dropZone.addEventListener(‘drop‘, model.processDrop); }); Model = (function() { function Model() { this.inStock = bind(this.inStock, this); this.processDrop = bind(this.processDrop, this); } Model.prototype.racks = ko.observableArray(); Model.prototype.cat = ‘‘; Model.prototype.stopPropagation = function(e) { e.stopPropagation(); return e.preventDefault(); }; Model.prototype.processDrop = function(e) { var file, reader; this.stopPropagation(e); file = e.dataTransfer.files[0]; if (file.name.match(/^S\d{4}.*\.csv$/i)) { $(‘#fileInfo‘).text(file.name); this.cat = file.name.substring(0, 5).toUpperCase(); reader = new FileReader(); reader.onload = (function(_this) { return function() { var hasNoRead, i, j, len, len1, plate, plateRow, rack, ref; rack = new CodeLibRack(); rack.loadFromCsv(reader.result); _this.racks.removeAll(); _this.racks.push(rack); hasNoRead = false; ref = rack.plates; for (i = 0, len = ref.length; i < len; i++) { plateRow = ref[i]; for (j = 0, len1 = plateRow.length; j < len1; j++) { plate = plateRow[j]; if (‘No Read‘ === plate.code) { hasNoRead = true; } } } return $(‘#inStockButton‘).prop(‘disabled‘, hasNoRead); }; })(this); return reader.readAsText(file); } else { $(‘#fileInfo‘).text(‘invalid file‘); $(‘#inStockButton‘).prop(‘disabled‘, true); return this.racks.removeAll(); } }; Model.prototype.inStock = function() { var codes, i, j, len, len1, plate, plateRow, racks, ref; codes = []; racks = ko.mapping.toJS(this.racks); if (racks.length) { ref = racks[0].plates; for (i = 0, len = ref.length; i < len; i++) { plateRow = ref[i]; for (j = 0, len1 = plateRow.length; j < len1; j++) { plate = plateRow[j]; if (plate.code.match(/^\d+$/)) { codes.push(plate.code); } } } return $.postJSON(‘doInStock.jhtml‘, { cat: this.cat, codes: codes }).done((function(_this) { return function(json) { if (json.error) { return alert(json.error); } else { return alert(‘上传成功‘); } }; })(this)); } }; return Model; })();
selleck - 分子库入库 instock-js
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。