Closed lifesinger closed 12 years ago
早点休息呀。 :smile:
Overlay 的代码看起来比较漂亮了,这比看美女还让人兴奋呀。
不过的确要睡觉了,晚安各位!
瞻仰下“美女”
@lepture 表情怎么打上去的?
@jsw0528 感谢也来 review
仔细再看了下 YUI3 和 KISSY 的 Overlay,可能还得做以下调整:
x/y/xy/align/centered
zIndex
shim
constrain
headerContent
bodyContent
footerContent
fillHeight
对我们来说,需要考虑增加的是:centered , 以后需要考虑 constrain
Mask 应该是 Overlay 的子类,而且是单例形式,第一个反应的接口应该是:
var mask =Mask.getInstance(config) 或 new Mask(config) 两者等价,都是返回单例
然后 overlay 上的方法和属性,mask 都有。
@jsw0528 这个是 emoji 呀。这样打出来:
:smile:
:smile::fearful:
:fearful:setPosition() 是否有必要
@lepture https://github.com/jsw0528/rails_emoji :wink2:
@afc163 attrs 里,position 改成 align 了? 明天讨论下。我暂时修改回 position 了,不然 onChange 事件无效。
@jsw0528 ruby 的有一个 md_emoji 来着。其实就是很简单的一个 snippet ,感觉没什么必要建一个 gem 呀。
@lepture 嗯,我是在练习 Gem 打包来着〜 md_emoji 他是 render 成 markdown 的,不过他的正则有 bug,发现我跟你用的正则一样,哈哈〜 打包成为 gem 的好处是可以傻瓜式使用〜
绝大部分已完成重构,关闭之。
1).
gjslint src/*.js
检查还有 10 处错误2). position 属性的中的 baseXY 和 selfXY 的参数设计感觉真心不错,赞。
3). onChangeXxx 在调用时,默认会传入 val(当前值)、prev(改变之前的值)、key(属性的key值),因此后面的 onChangeXxx 等都可以精简,我顺手修改了下。
4). _onChangeClassName 应该先 remove 之前的,然后再添加新的。
5). _onChangePosition 和 setPosition 我重构了下,接收一个参数感觉更方便使用。
6). css 方法里,对
this.element &&
判断没必要,this.element
肯定有的。7). setup 里,
this.before('show', shim.sync, shim);
有问题,按照 shim 目前的逻辑,应该是this.after('show', shim.sync, shim);
才正确,因为 before show 先,this.element 还处于隐藏状态,这时同步 shim, shim 会保持 hidden 状态。这里需要和贯高讨论下,之前我也有这个误用。可能得需要 iframe-shim 提供 show / hide 方法,这样我们就可以按照直觉写成:8). render 渲染 DOM 结构那几行代码,与下面的 _onChangeXxx 存在明显的重复。这里可以用一句话代替:
对于 zIndex,由于有初始值,因此需要在 setup 里设置好:
9). _onChangeId 里面,如果 id 为空的判断,感觉没必要。
10). render 调用后,是否默认就应该显示出来?感觉
render().show()
怪怪的。有些已经顺手修改了,有些还没有,详见:
https://github.com/alipay/arale/commit/8fb352b70337fec8c888a861812f51a32a4a74db#diff-2
改完后,貌似 example 有问题了,悲催,明天再讨论。
11). PS:test spec 还是有必要的,以保证能彼此大胆的修改代码。