mirror of
https://github.com/lxsang/antos-frontend.git
synced 2024-12-28 10:18:21 +01:00
add more tagesr
This commit is contained in:
parent
2a990491d9
commit
0de9f88dcf
2
Makefile
2
Makefile
@ -30,6 +30,8 @@ coffees= src/core/core.coffee \
|
|||||||
src/core/tags/TileLayoutTags.coffee \
|
src/core/tags/TileLayoutTags.coffee \
|
||||||
src/core/tags/ResizerTag.coffee \
|
src/core/tags/ResizerTag.coffee \
|
||||||
src/core/tags/LabelTag.coffee \
|
src/core/tags/LabelTag.coffee \
|
||||||
|
src/core/tags/ButtonTag.coffee \
|
||||||
|
src/core/tags/ListViewTag.coffee \
|
||||||
src/antos.coffee
|
src/antos.coffee
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ Ant.OS.GUI =
|
|||||||
subwindows: new Object()
|
subwindows: new Object()
|
||||||
dialog: undefined
|
dialog: undefined
|
||||||
fullscreen: false
|
fullscreen: false
|
||||||
|
workspace: "#desktop"
|
||||||
shortcut:
|
shortcut:
|
||||||
ALT: {}
|
ALT: {}
|
||||||
CTRL: {}
|
CTRL: {}
|
||||||
@ -331,7 +332,7 @@ Ant.OS.GUI =
|
|||||||
Ant.OS.GUI.showTooltip el, ($(el).attr "tooltip"), e
|
Ant.OS.GUI.showTooltip el, ($(el).attr "tooltip"), e
|
||||||
|
|
||||||
# desktop default file manager
|
# desktop default file manager
|
||||||
desktop = $ "#desktop"
|
desktop = $ Ant.OS.GUI.workspace
|
||||||
fp = Ant.OS.setting.desktop.path.asFileHandle()
|
fp = Ant.OS.setting.desktop.path.asFileHandle()
|
||||||
desktop[0].fetch = () ->
|
desktop[0].fetch = () ->
|
||||||
fn = () ->
|
fn = () ->
|
||||||
@ -413,7 +414,7 @@ Ant.OS.GUI =
|
|||||||
alert __("System fail: Cannot init desktop manager")
|
alert __("System fail: Cannot init desktop manager")
|
||||||
console.log s, e
|
console.log s, e
|
||||||
refreshDesktop: () ->
|
refreshDesktop: () ->
|
||||||
($ "#desktop")[0].fetch()
|
($ Ant.OS.GUI.workspace)[0].fetch()
|
||||||
|
|
||||||
refreshSystemMenu: () ->
|
refreshSystemMenu: () ->
|
||||||
Ant.OS.GUI.SYS_MENU[0].child.length = 1
|
Ant.OS.GUI.SYS_MENU[0].child.length = 1
|
||||||
|
@ -6,13 +6,55 @@ class ButtonTag extends Ant.OS.GUI.BaseTag
|
|||||||
@setopt "iconclass", undefined
|
@setopt "iconclass", undefined
|
||||||
@setopt "text", ""
|
@setopt "text", ""
|
||||||
@setopt "enable", true
|
@setopt "enable", true
|
||||||
|
@setopt "selected", false
|
||||||
|
@setopt "toggle", false
|
||||||
|
@setopt "onbtclick", () ->
|
||||||
|
|
||||||
|
|
||||||
|
on_color_changed: (v) ->
|
||||||
|
console.log @refs
|
||||||
|
@refs.label.set "color", v
|
||||||
|
|
||||||
|
on_icon_changed: (v) ->
|
||||||
|
@refs.label.set "icon", v
|
||||||
|
|
||||||
|
on_iconclass_changed: (v) ->
|
||||||
|
@refs.label.set "iconclass", v
|
||||||
|
|
||||||
|
on_text_changed: (v) ->
|
||||||
|
@refs.label.set "text", v
|
||||||
|
|
||||||
|
on_enable_changed: (v) ->
|
||||||
|
$(@refs.button).prop "disabled", !(@get "enable")
|
||||||
|
|
||||||
|
on_selected_changed: (v) ->
|
||||||
|
$(@button).removeClass()
|
||||||
|
$(@button).addClass "selected" if v
|
||||||
|
|
||||||
|
mount: () ->
|
||||||
|
me = @
|
||||||
|
@root.trigger = () ->
|
||||||
|
($me.refs.button).trigger "click"
|
||||||
|
|
||||||
|
$(@refs.button).click (e) ->
|
||||||
|
me.btclickhd e
|
||||||
|
|
||||||
|
btclickhd: (e) ->
|
||||||
|
hd = @get "onbtclick"
|
||||||
|
if typeof hd is "string"
|
||||||
|
eval hd
|
||||||
|
else if hd
|
||||||
|
hd e
|
||||||
|
@observable.trigger "btclick", { id: @aid(), data: @root }
|
||||||
|
if @toggle
|
||||||
|
@set "selected", !@get "selected"
|
||||||
|
|
||||||
layout: () ->
|
layout: () ->
|
||||||
{
|
[{
|
||||||
el: "Button", ref: "button", children: [
|
el: "Button", ref: "button", children: [
|
||||||
{ el: "afx-label", ref: "label" }
|
{ el: "afx-label", ref: "label" }
|
||||||
]
|
]
|
||||||
}
|
}]
|
||||||
|
|
||||||
|
|
||||||
Ant.OS.GUI.define "afx-button", ButtonTag
|
Ant.OS.GUI.define "afx-button", ButtonTag
|
@ -4,8 +4,12 @@ class LabelTag extends Ant.OS.GUI.BaseTag
|
|||||||
@setopt "color", undefined
|
@setopt "color", undefined
|
||||||
@setopt "icon", undefined
|
@setopt "icon", undefined
|
||||||
@setopt "iconclass", undefined
|
@setopt "iconclass", undefined
|
||||||
|
@refs.text = document.createTextNode ""
|
||||||
|
$(@refs.container).append @refs.text
|
||||||
@setopt "text", ""
|
@setopt "text", ""
|
||||||
|
|
||||||
|
mount: () ->
|
||||||
|
|
||||||
on_color_changed: (v) ->
|
on_color_changed: (v) ->
|
||||||
return unless v
|
return unless v
|
||||||
$(@refs.container).css "color", v
|
$(@refs.container).css "color", v
|
||||||
@ -32,16 +36,15 @@ class LabelTag extends Ant.OS.GUI.BaseTag
|
|||||||
|
|
||||||
|
|
||||||
on_text_changed: (v) ->
|
on_text_changed: (v) ->
|
||||||
$(@refs.text).text v.__() if v
|
@refs.text.nodeValue = v.__() if v
|
||||||
|
|
||||||
layout: () ->
|
layout: () ->
|
||||||
{
|
[{
|
||||||
el: "span", ref: "container", children: [
|
el: "span", ref: "container", children: [
|
||||||
{ el: "i", ref: "iclass" },
|
{ el: "i", ref: "iclass" },
|
||||||
{ el: "i", ref: "i", class: "icon-style" },
|
{ el: "i", ref: "i", class: "icon-style" }
|
||||||
{ el: "i", ref: "text" }
|
|
||||||
]
|
]
|
||||||
}
|
}]
|
||||||
|
|
||||||
|
|
||||||
Ant.OS.GUI.define "afx-label", LabelTag
|
Ant.OS.GUI.define "afx-label", LabelTag
|
194
src/core/tags/ListViewTag.coffee
Normal file
194
src/core/tags/ListViewTag.coffee
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
class ListViewItemTag extends Ant.OS.GUI.BaseTag
|
||||||
|
constructor: (r, o) ->
|
||||||
|
super r, o
|
||||||
|
me = @
|
||||||
|
@setopt "data", {}
|
||||||
|
@setopt "oncontextmenu", (e) ->
|
||||||
|
@setopt "onclick", (e) ->
|
||||||
|
@setopt "onselect", (e) ->
|
||||||
|
@setopt "ondbclick", (e) ->
|
||||||
|
@setopt "onclose", (e) ->
|
||||||
|
@setopt "index", 0
|
||||||
|
@setopt "closable", false
|
||||||
|
@setopt "selected", false
|
||||||
|
|
||||||
|
class ListItemSimpleTag extends ListViewItemTag
|
||||||
|
constructor: (r, o) ->
|
||||||
|
super r, o
|
||||||
|
mount: () ->
|
||||||
|
me = @
|
||||||
|
@refs.item.oncontextmenu = (e) ->
|
||||||
|
me.get("oncontextmenu")(e)
|
||||||
|
|
||||||
|
$(@refs.item).click (e) ->
|
||||||
|
e.item = me.root
|
||||||
|
me.get("onclick")(e)
|
||||||
|
|
||||||
|
$(@refs.item).dblclick (e) ->
|
||||||
|
e.item = me.root
|
||||||
|
me.get("ondbclick")(e)
|
||||||
|
$(@refs.btcl).click (e) ->
|
||||||
|
e.item = me.root
|
||||||
|
me.get("onclose")(e)
|
||||||
|
|
||||||
|
on_closable_changed: (v) ->
|
||||||
|
if v then $(@refs.btcl).show() else $(@refs.btcl).hide()
|
||||||
|
|
||||||
|
on_selected_changed: (v) ->
|
||||||
|
$(@refs.item).removeClass()
|
||||||
|
return unless v
|
||||||
|
$(@refs.item).addClass "selected"
|
||||||
|
@get("onselect")({ item: @root })
|
||||||
|
|
||||||
|
on_data_changed: (v) ->
|
||||||
|
return unless v
|
||||||
|
@refs.label.set "class", v.class if v.class
|
||||||
|
@refs.label.set "color", v.color if v.color
|
||||||
|
@refs.label.set "iconclass", v.iconclass if v.iconclass
|
||||||
|
@refs.label.set "icon", v.icon if v.icon
|
||||||
|
@refs.label.set "text", v.text if v.text
|
||||||
|
@set "selected", v.selected if v.selected
|
||||||
|
@set "closable", v.closable if v.closable
|
||||||
|
|
||||||
|
layout: () ->
|
||||||
|
[{
|
||||||
|
el: "li", ref: "item", children: [
|
||||||
|
{ el: "afx-label", ref: "label" },
|
||||||
|
{ el: "i", class: "closable", ref: "btcl" }
|
||||||
|
]
|
||||||
|
}]
|
||||||
|
|
||||||
|
|
||||||
|
class ListViewTag extends Ant.OS.GUI.BaseTag
|
||||||
|
constructor: (r, o) ->
|
||||||
|
super r, o
|
||||||
|
@setopt "onlistselect", () ->
|
||||||
|
@setopt "onlistdbclick", () ->
|
||||||
|
@setopt "onitemclose", () ->
|
||||||
|
@setopt "buttons", []
|
||||||
|
@setopt "data", {}
|
||||||
|
@setopt "dropdown", false
|
||||||
|
@setopt "itemtag", "afx-list-item"
|
||||||
|
@setopt "multiselect", false
|
||||||
|
@setopt "selectedItem", undefined
|
||||||
|
@setopt "selectedIndex", -1
|
||||||
|
@items = []
|
||||||
|
$(@root)
|
||||||
|
.css "display", "flex"
|
||||||
|
.css "flex-direction", "column"
|
||||||
|
|
||||||
|
on_buttons_changed: (v) ->
|
||||||
|
return if @get "dropdown"
|
||||||
|
|
||||||
|
on_data_changed: (data) ->
|
||||||
|
$( @refs.mlist).empty()
|
||||||
|
for item in data
|
||||||
|
el = $("<#{@get "itemtag"}>").appendTo @refs.mlist
|
||||||
|
el[0].uify @observable
|
||||||
|
console.log el
|
||||||
|
me = @
|
||||||
|
el[0]
|
||||||
|
.set "data", item
|
||||||
|
.set "oncontextmenu", (e) ->
|
||||||
|
me.icontextmenu e
|
||||||
|
.set "ondbclick", (e) ->
|
||||||
|
me.idbclick e
|
||||||
|
.set "onclick", (e) ->
|
||||||
|
return if not e.item or e.item is me.selectedItem
|
||||||
|
e.item.set "selected", true
|
||||||
|
.set "onselect", (e) ->
|
||||||
|
me.iselect e
|
||||||
|
.set "onclose", (e) ->
|
||||||
|
me.iclose e
|
||||||
|
|
||||||
|
icontextmenu: (e) ->
|
||||||
|
console.log "context menu", e
|
||||||
|
idbclick: (e) ->
|
||||||
|
console.log "db click", e
|
||||||
|
iselect: (e) ->
|
||||||
|
return unless e.item
|
||||||
|
@selectedItem.set "selected", false if @selectedItem
|
||||||
|
@selectedItem = e.item
|
||||||
|
@get("onlistselect")(e)
|
||||||
|
|
||||||
|
iclose: (e) ->
|
||||||
|
console.log "close", e
|
||||||
|
|
||||||
|
on_dropdown_changed: (v) ->
|
||||||
|
$(@refs.container).removeAttr "style"
|
||||||
|
$(@refs.mlist).removeAttr "style"
|
||||||
|
$(@refs.container).css "flex", 1
|
||||||
|
$(@root).removeClass()
|
||||||
|
me = @
|
||||||
|
drop = (e) ->
|
||||||
|
me.dropoff e
|
||||||
|
show = (e) ->
|
||||||
|
me.showlist e
|
||||||
|
calib = (e) ->
|
||||||
|
me.calibrate e
|
||||||
|
if v
|
||||||
|
$(@root).addClass "dropdown"
|
||||||
|
$(@refs.current).show()
|
||||||
|
@observable.on "calibrate", calib
|
||||||
|
@observable.on "resize", calib
|
||||||
|
$(document).on "click", drop
|
||||||
|
$(@refs.current).on "click", show
|
||||||
|
$(@refs.container)
|
||||||
|
.css "position", "absolute"
|
||||||
|
.css "display", "inline-block"
|
||||||
|
$(@refs.mlist)
|
||||||
|
.css "position", "absolute"
|
||||||
|
.css "display", "none"
|
||||||
|
.css "top", "100%"
|
||||||
|
.css "left", "0"
|
||||||
|
@calibrate()
|
||||||
|
else
|
||||||
|
$(@refs.current).hide()
|
||||||
|
@observable.off "calibrate", calib
|
||||||
|
@observable.off "resize", calib
|
||||||
|
$(document).off "click", drop
|
||||||
|
$(@refs.current).off "click", show
|
||||||
|
|
||||||
|
showlist: (e) ->
|
||||||
|
return unless @get "dropdown"
|
||||||
|
desktoph = $(Ant.OS.GUI.workspace).height()
|
||||||
|
offset = $(@root).offset().top + $(@refs.mlist).height()
|
||||||
|
if offset > desktoph
|
||||||
|
$(@refs.mlist)
|
||||||
|
.css "top", "-#{$(@refs.mlist).outerHeight()}px"
|
||||||
|
else
|
||||||
|
$(@mlist).css "top", "100%"
|
||||||
|
$(@refs.mlist).show()
|
||||||
|
|
||||||
|
dropoff: (e) ->
|
||||||
|
$(@refs.mlist).hide() if $(e.target).closest(@refs.container).length is 0
|
||||||
|
|
||||||
|
|
||||||
|
calibrate: (e) ->
|
||||||
|
return unless @get "dropdown"
|
||||||
|
w = "#{$(@root).width()}px"
|
||||||
|
$(@refs.container).css "width", w
|
||||||
|
$(@refs.current).css "width", w
|
||||||
|
$(@refs.mlist).css "width", w
|
||||||
|
|
||||||
|
|
||||||
|
layout: () ->
|
||||||
|
[
|
||||||
|
{
|
||||||
|
el: "div",
|
||||||
|
class: "list-container",
|
||||||
|
ref: "container",
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
el: "div", ref: "current", children: [
|
||||||
|
{ el: "afx-label", ref: "drlabel" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{ el: "ul", ref: "mlist" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{ el: "div", class: "button_container", ref: "btlist" }
|
||||||
|
]
|
||||||
|
|
||||||
|
Ant.OS.GUI.define "afx-list-view", ListViewTag
|
||||||
|
Ant.OS.GUI.define "afx-list-item", ListItemSimpleTag
|
@ -62,6 +62,6 @@ class ResizerTag extends Ant.OS.GUI.BaseTag
|
|||||||
@observable.trigger "calibrate", @resizable_el.aid()
|
@observable.trigger "calibrate", @resizable_el.aid()
|
||||||
|
|
||||||
layout: () ->
|
layout: () ->
|
||||||
return undefined
|
[]
|
||||||
|
|
||||||
Ant.OS.GUI.define "afx-resizer", ResizerTag
|
Ant.OS.GUI.define "afx-resizer", ResizerTag
|
@ -19,9 +19,9 @@ class TileLayoutTag extends Ant.OS.GUI.BaseTag
|
|||||||
|
|
||||||
|
|
||||||
layout: () ->
|
layout: () ->
|
||||||
{
|
[{
|
||||||
el: "div", ref: "yield"
|
el: "div", ref: "yield"
|
||||||
}
|
}]
|
||||||
|
|
||||||
|
|
||||||
class HBoxTag extends TileLayoutTag
|
class HBoxTag extends TileLayoutTag
|
||||||
|
@ -4,7 +4,7 @@ class WindowTag extends Ant.OS.GUI.BaseTag
|
|||||||
@setopt "minimizable", true
|
@setopt "minimizable", true
|
||||||
@setopt "resizable", true
|
@setopt "resizable", true
|
||||||
@setopt "apptitle", "Untitled"
|
@setopt "apptitle", "Untitled"
|
||||||
@setopt "desktop", "#desktop"
|
@setopt "desktop", Ant.OS.GUI.workspace
|
||||||
@setopt "width", 400
|
@setopt "width", 400
|
||||||
@setopt "height", 300
|
@setopt "height", 300
|
||||||
@shown = false
|
@shown = false
|
||||||
@ -179,7 +179,7 @@ class WindowTag extends Ant.OS.GUI.BaseTag
|
|||||||
@observable.trigger 'resize', { id: @aid(), w: history.width, h: history.height }
|
@observable.trigger 'resize', { id: @aid(), w: history.width, h: history.height }
|
||||||
|
|
||||||
layout: () ->
|
layout: () ->
|
||||||
{
|
[{
|
||||||
el: "div", class: "afx-window-wrapper", children: [
|
el: "div", class: "afx-window-wrapper", children: [
|
||||||
{
|
{
|
||||||
el: "ul", class: "afx-window-top", children: [
|
el: "ul", class: "afx-window-top", children: [
|
||||||
@ -193,6 +193,6 @@ class WindowTag extends Ant.OS.GUI.BaseTag
|
|||||||
{ el: "div", ref: "yield", class: "afx-window-content" },
|
{ el: "div", ref: "yield", class: "afx-window-content" },
|
||||||
{ el: "div", ref: "grip", class: "afx-window-grip" }
|
{ el: "div", ref: "grip", class: "afx-window-grip" }
|
||||||
]
|
]
|
||||||
}
|
}]
|
||||||
|
|
||||||
Ant.OS.GUI.define "afx-app-window", WindowTag
|
Ant.OS.GUI.define "afx-app-window", WindowTag
|
@ -1,7 +1,7 @@
|
|||||||
<afx-label>
|
<afx-label>
|
||||||
<span style = {color?"color:" + color:""} >
|
<span style = {color?"color:" + color:""} >
|
||||||
<i if={iconclass} class = {iconclass} ></i>
|
<i if={iconclass} class = {iconclass} ></i>
|
||||||
<i if={icon} class="icon-style" style = { "background: url("+window.OS.API.handler.get+"/"+icon+");background-size: 100% 100%;background-repeat: no-repeat;" }></i>
|
<i if={icon} class="icon-style" style = { "background: url("+window.OS.API.handle.get+"/"+icon+");background-size: 100% 100%;background-repeat: no-repeat;" }></i>
|
||||||
{ text?text.__():"" }
|
{ text?text.__():"" }
|
||||||
</span>
|
</span>
|
||||||
<script>
|
<script>
|
||||||
|
@ -13,14 +13,16 @@ class Ant.OS.GUI.BaseTag
|
|||||||
@refs = {}
|
@refs = {}
|
||||||
@setopt "data-id", Math.floor(Math.random() * 100000) + 1
|
@setopt "data-id", Math.floor(Math.random() * 100000) + 1
|
||||||
@children = []
|
@children = []
|
||||||
dom = @mkui()
|
|
||||||
|
for obj in @layout()
|
||||||
|
dom = @mkui obj
|
||||||
if dom
|
if dom
|
||||||
if @refs.yield
|
if @refs.yield
|
||||||
@children = $(@root).children()
|
@children = $(@root).children()
|
||||||
$(v).detach().appendTo @refs.yield for v in @children
|
$(v).detach().appendTo @refs.yield for v in @children
|
||||||
$(dom).appendTo(@root)
|
$(dom).appendTo(@root)
|
||||||
else
|
else
|
||||||
$(@root).empty()
|
# $(@root).empty()
|
||||||
$(dom).appendTo(@root)
|
$(dom).appendTo(@root)
|
||||||
|
|
||||||
setopt: (name, val) ->
|
setopt: (name, val) ->
|
||||||
@ -36,6 +38,7 @@ class Ant.OS.GUI.BaseTag
|
|||||||
set: (opt, value) ->
|
set: (opt, value) ->
|
||||||
@opts[opt] = value
|
@opts[opt] = value
|
||||||
@["on_#{opt}_changed"](value) if @["on_#{opt}_changed"]
|
@["on_#{opt}_changed"](value) if @["on_#{opt}_changed"]
|
||||||
|
@
|
||||||
|
|
||||||
aid: () ->
|
aid: () ->
|
||||||
@get "data-id"
|
@get "data-id"
|
||||||
@ -52,20 +55,19 @@ class Ant.OS.GUI.BaseTag
|
|||||||
mount: () ->
|
mount: () ->
|
||||||
|
|
||||||
layout: () ->
|
layout: () ->
|
||||||
|
[]
|
||||||
# should be defined by subclasses
|
# should be defined by subclasses
|
||||||
|
|
||||||
mkui: (obj) ->
|
mkui: (tag) ->
|
||||||
tag = obj
|
|
||||||
tag = @layout() unless tag
|
|
||||||
return undefined unless tag
|
return undefined unless tag
|
||||||
dom = $("<#{tag.el}>")
|
dom = $("<#{tag.el}>")
|
||||||
$(dom).addClass tag.class if tag.class
|
$(dom).addClass tag.class if tag.class
|
||||||
if tag.children
|
if tag.children
|
||||||
$(@mkui(v)).appendTo(dom) for v in tag.children
|
$(@mkui(v)).appendTo(dom) for v in tag.children
|
||||||
if tag.ref
|
if tag.ref
|
||||||
@refs[tag.ref] = dom
|
@refs[tag.ref] = dom[0]
|
||||||
# dom.mount @observable
|
# dom.mount @observable
|
||||||
dom
|
dom[0].uify(@observable)
|
||||||
|
|
||||||
Element.prototype.uify = (observable) ->
|
Element.prototype.uify = (observable) ->
|
||||||
tag = @tagName.toLowerCase()
|
tag = @tagName.toLowerCase()
|
||||||
|
@ -43,14 +43,14 @@ class ShowCase extends this.OS.GUI.BaseApplication
|
|||||||
<afx-resizer data-width="5" />
|
<afx-resizer data-width="5" />
|
||||||
<afx-vbox data-width="grow">
|
<afx-vbox data-width="grow">
|
||||||
<afx-hbox min-height="50">
|
<afx-hbox min-height="50">
|
||||||
<afx-label text="__(This is the label)"
|
<afx-button text="__(This is the label)"
|
||||||
|
data-id="bttest"
|
||||||
iconclass="fa fa-camera-retro fa-lg"
|
iconclass="fa fa-camera-retro fa-lg"
|
||||||
icon="os://packages/DummyApp/icon.png"/>
|
icon="os://packages/DummyApp/icon.png"/>
|
||||||
</afx-hbox>
|
</afx-hbox>
|
||||||
<afx-resizer data-height="5" />
|
<afx-resizer data-height="5" />
|
||||||
<afx-hbox>
|
<afx-hbox>
|
||||||
<div>box center 3</div>
|
<afx-list-view data-id="list" />
|
||||||
<div>box center 4</div>
|
|
||||||
</afx-hbox>
|
</afx-hbox>
|
||||||
<afx-hbox data-height="150">
|
<afx-hbox data-height="150">
|
||||||
<div>box center 3</div>
|
<div>box center 3</div>
|
||||||
@ -66,6 +66,9 @@ class ShowCase extends this.OS.GUI.BaseApplication
|
|||||||
"""
|
"""
|
||||||
($ "#desktop").append scheme[0]
|
($ "#desktop").append scheme[0]
|
||||||
obj = scheme[0].uify()
|
obj = scheme[0].uify()
|
||||||
|
bt = $ "[data-id='bttest']", scheme[0]
|
||||||
|
bt[0].set "onbtclick", (e) ->
|
||||||
|
console.log "btclicked"
|
||||||
obj.set "resizable", true
|
obj.set "resizable", true
|
||||||
obj.set "minimizable", false
|
obj.set "minimizable", false
|
||||||
obj.observable.on "exit", () ->
|
obj.observable.on "exit", () ->
|
||||||
@ -73,5 +76,20 @@ class ShowCase extends this.OS.GUI.BaseApplication
|
|||||||
obj.observable.off "*"
|
obj.observable.off "*"
|
||||||
$(obj).remove()
|
$(obj).remove()
|
||||||
|
|
||||||
|
obj.observable.on "btclick", (e) ->
|
||||||
|
console.log "button clicked"
|
||||||
|
|
||||||
|
|
||||||
|
list = $ "[data-id='list']", scheme[0]
|
||||||
|
|
||||||
|
list[0].set "data", [
|
||||||
|
{ text: "some thing with avery long text" },
|
||||||
|
{ text: "some thing 1" },
|
||||||
|
{ text: "some thing 2" },
|
||||||
|
{ text: "some thing 3" },
|
||||||
|
{ text: "some thing 4" },
|
||||||
|
{ text: "some thing 5" }
|
||||||
|
]
|
||||||
|
|
||||||
ShowCase.singleton = true
|
ShowCase.singleton = true
|
||||||
this.OS.register "ShowCase", ShowCase
|
this.OS.register "ShowCase", ShowCase
|
@ -19,7 +19,7 @@ afx-list-view > div.list-container > ul{
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
afx-list-view > div.list-container > ul > li{
|
afx-list-view > div.list-container > ul li{
|
||||||
margin:0;
|
margin:0;
|
||||||
padding:0;
|
padding:0;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
@ -33,7 +33,7 @@ afx-list-view > div.list-container > ul > li{
|
|||||||
-webkit-user-select:none;
|
-webkit-user-select:none;
|
||||||
cursor:default;
|
cursor:default;
|
||||||
}
|
}
|
||||||
afx-list-view > div.list-container > ul >li:nth-child(odd){
|
afx-list-view > div.list-container > ul li:nth-of-type(odd){
|
||||||
background-color: #f5F5F5;
|
background-color: #f5F5F5;
|
||||||
}
|
}
|
||||||
afx-list-view i.closable{
|
afx-list-view i.closable{
|
||||||
@ -54,11 +54,11 @@ afx-list-view i.closable:before{
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
afx-list-view > div.list-container > ul > li > i {
|
afx-list-view > div.list-container > ul li > i {
|
||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
|
|
||||||
}
|
}
|
||||||
afx-list-view > div.list-container > ul > li.selected {
|
afx-list-view > div.list-container > ul li.selected {
|
||||||
background-color: #116cd6;
|
background-color: #116cd6;
|
||||||
color:white;
|
color:white;
|
||||||
}
|
}
|
||||||
@ -98,7 +98,7 @@ afx-list-view.dropdown > div.list-container > ul{
|
|||||||
border-top-left-radius: 0px;
|
border-top-left-radius: 0px;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
}
|
}
|
||||||
afx-list-view.dropdown > div.list-container > ul > li{
|
afx-list-view.dropdown > div.list-container > ul li{
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width:100%;
|
width:100%;
|
||||||
}
|
}
|
||||||
@ -125,7 +125,7 @@ afx-list-view.dropdown div.list-container div:before {
|
|||||||
top:25%;
|
top:25%;
|
||||||
right: 5px;
|
right: 5px;
|
||||||
}
|
}
|
||||||
afx-list-view.dropdown > div.list-container > ul > li:hover{
|
afx-list-view.dropdown > div.list-container > ul li:hover{
|
||||||
background-color: #dcdcdc;
|
background-color: #dcdcdc;
|
||||||
color: #414339;
|
color: #414339;
|
||||||
}
|
}
|
||||||
@ -140,7 +140,7 @@ afx-list-view ul.complex-content li{
|
|||||||
color:#5e5f59;
|
color:#5e5f59;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
}
|
}
|
||||||
afx-list-view > div.list-container > ul > li.selected ul.complex-content li{
|
afx-list-view > div.list-container > ul li.selected ul.complex-content li{
|
||||||
color:white;
|
color:white;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user