22
KISSY Component System [email protected] 2013-07

Kissy component system

  • View
    609

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Kissy component system

KISSY Component System

[email protected]

2013-07

Page 2: Kissy component system

overview Infrastructure

Page 3: Kissy component system

oop

• Class

– KISSY.extend

• superclass

Page 4: Kissy component system

Base

• Attribute management/change event

– ATTRS

• getter

• setter

• valueFn

• Value

– get/set

– before/afterXChange

Page 5: Kissy component system

Base

• ATTRS – getter

• {

xy: {

getter: function() {

return [ this.get(‘x’), this.get(‘y’) ]

}

}

}

Page 6: Kissy component system

Base

• ATTRS

– setter

• {

number: {

setter: function(n){

return parseInt(n);

}

}

}

Page 7: Kissy component system

Base

• ATTRS

– value

• {

number: {

value: 2

}

}

Page 8: Kissy component system

Base

• ATTRS

– valueFn

• {

number: {

valueFn: function(){

return this.get(n)*2;

}

}

}

Page 10: Kissy component system

RichBase components

• Examples – dd

• Draggable/DraggableDelegate

• Droppable/DroppableDelegate

• dd/plugin/constrain

• dd/plugin/proxy

• dd/plugin/scroll

– resizable • Resizable

• resizable/plugin/proxy

Page 11: Kissy component system

• UI

Page 12: Kissy component system
Page 13: Kissy component system

Control

• A ui control – Extend RichBase – Control

• Life cycle – createDom – renderUI – bindUI – syncUI

• Handle dom event • Attribute setup/logic • xclass/xrender • events

– afterRenderUI/show/hide

Page 14: Kissy component system

render

• Render a ui control (div element)

– Extend RichBase

– Template render

• contentTpl/childrenElSelectors

– Decorate render

• HTML_PARSER

Page 15: Kissy component system

Container/ContainerRender

• List of control (manage children)

– Render children

– Add/remove child

– Events

• beforeAddChild/beforeRemoveChild

• afterAddChild/afterRemoveChild

Page 16: Kissy component system

Custom Control MyControl

Page 18: Kissy component system

Control.js

• Bind Dom event

• Setup attribute

• Attribute logic

• Setup xrender/xclass

Page 19: Kissy component system

Render.js • Setup childrenSelectors

• Setup content template

• Setup HTML_PARSER

• Sync ui and attribute

Page 20: Kissy component system

List.js

• xclass

• focus management

Page 21: Kissy component system

UI components

• Example:

– Button/combobox/editor/filter-menu/menu/menubutton/separator/split-button/tabs/tree/toolbar

– scroll-view/date-picker TODO

– Bui

• http://bui.alibaba-inc.com/start/index.php

Page 22: Kissy component system

related

• Others

– http://www.slideshare.net/yiminghe/