2015年初表格组件的gridmanager项目立项,不知不觉1700多天过去了。2019年初定下的目标多年来,table项目一直不温不火,github的stars总是在缓慢增长。反观那些跟技术无关的明星,能在几天内达到10k+,除了羡慕之外,还有一点点委屈。革命还没有成功,同志们还需要努力。所以在2019年初,我们给表单定下了1000星以上的目标。为了这个目标,我做了这些事情来支持三大框架。GridManager在2017年去掉jQuery依赖,成为原生JS表格组件,2018年支持Vue框架。所以2019年首先要解决的就是对Angular-1.x和React框架的支持。Angular-1.x受益于Angular-1.x项目,所以在支持Angular-1.x的过程中比较顺利。2019年1月5日发布支持Angular-1.x框架的v2.7.1版本。并且广泛应用于公司项目中。我要感谢我的团队成员的支持。React早在2018年就提供了对React的初步支持,但无法解析表单模板中的jsx,也不支持React组件。问题的根源在于React没有找到像Vue那样将DOM节点转换为框架对象的方法。通过对React框架的学习和相关源码的阅读。终于找到了React.cloneElement+ReactDOM.render的解决方案。详情:可点击解决该痛点后,2019年6月11日发布支持React框架的v2.8.6版本。并在发布后集成到React组件库cloud-react中。至此三大框架适配完成。支持自定义分页模板2018年团队小伙伴基于GridManager写了两套皮肤:ccms-skinelement-skin编码时,为了适配各自组件库的风格,需要自定义分页区域。当时这个需求是通过大量的配置项来支持的,但是总感觉太复杂了。所以配置项ajaxPageTemplate在2019年3月12日的v2.7.5版本中出现了新功能迭代树结构异步分页模式行移动在这些功能的开发过程中,受限于项目结构,所以进展不是很光滑的。忍了一段时间后,小宇宙爆发了,终于暂停了新功能的迭代,转而进行代码优化。最后一个功能也在2019年12月19日v2.10.2发布,优化完成。代码优化,模块重新切分,提取公共utils、base、tools将common下的公共模块从对象编程改为函数式编程风格的文件清理,增加className前缀,体积缩减三分之一。简化配置项,加入hook优化后,不仅逻辑更清晰,代码量减少,单元测试也更简单。古人不欺我:工欲善其事,必先利其器。虽然目标的完成还在不断的迭代和优化。但是截止到2019年12月19日,star只达到了336颗,距离我们年初想要达到的1000颗的目标还有很大差距。近一年npm下载量数据来自https://npm-stat.com/,采集时间点为:2018-12-18至2019-12-18原生版本Angular1.x版本Vue版本ReactversionDownloadfrom从量上来说,并不可观,希望明年有所改善。也希望大家多多尝试使用,功能已经很全面了。写在最后这个时代,你我都是追梦人。时代在变,技术也在变。但愿在科技变革的浪潮中,你我总能穿着被汗水打湿的衣裳,风雨飘摇地顺利着陆。
