Webixクイックスタート
8757 ワード
XBソフトウェアは最近、パソコンだけでなくiOS、Android、Blackberryデバイスでも実行できるJavaScript UIライブラリWebixを発表しました.オフラインのウェブストレージ、地理的位置(geolocation)APIにアクセスし、キャンバスに絵を描くことができ、jQueryとBackboneを統合しています.js. Webixは簡単なサービス側統合コントロールを提供し、PHP、ASP.NET、Java、Rubyなど様々な技術がクライアントのWebix部品と直接通信できる.さらに、これらのコンポーネントは、RoR、ASPなどのMVCフレームワークにおいても使用することができる.NET MVC、Spring、Struts、Grails.Webixライブラリに含まれるコンポーネントは、Accordion、Calendar、Carousel、Chart、Colorboard、Context、ContextMenu、DataTable、Dataview、Form、Formコントロール、Grouplist、HTML form、Iframe、Layout、Resizer、List、Menu、Multiview、Popup、Property Sheet、Scrollview、Tabview、Template、Toolbar、Tree、Treetable、Unitlist、UploaderとWindow.
本稿では,クイックエントリー例について詳細に説明する.
例1:行と列
レイアウトは行と列によって決定され、行と列の間のborderがtypeによって設定されるtypeの可能な値は「line」(default)、「head」、「space」、「wide」and「clean」(borderless)である.
例2:widthとheightレイアウトサイズの設定
レイアウトのサイズはwidthとheightで構成できます
例3:カスタムhtml実装レイアウト
レイアウトは、containerプロパティ
例4:欄と列列と欄は互いにネストすることができて、列の中に欄を含むことができて、欄の中に列 を含むことができます {},//!Emptyには空の列やバーも含まれますが、属性やコンポーネント は含まれていません. view:[resizer]1つのスケールラインでは、間の任意の行と列のサイズを設定できますが、リフレッシュすると元の に戻ります. widthおよびheightは、表示バーまたは列の幅の高さを制御します.
例5:ツールバーとリストツールバーToolbarを構成する一般的な最初の(上)行にはツールバーボタンが配置され、ユーザーがappと対話するために使用されるすべてのwebixコンポーネントとコントロールにはview属性があり、この属性はあなたが作成したボタン、チェックボックス、リスト、表などを区別するために使用されます.このとき、行の高さはツールバーのコントロールの高さが変化するにつれて変化する です. view:「form」はフォームコントロールであり、ユーザーデータを得るためにフォームコントロールにはows/elementsおよびcols に配置された他の多くのコントロールが含まれている. alignは、コントロール内のテキストの相対的な位置を示し、可能な値は「left」(default)、「right」および「center.」である. listコントロール リストコントロールは、データを含むコントロールであり、主に以下の属性 がある. data:インラインデータを解析するための url:1つのファイルまたはデータベースからデータをロードする template:データの値を定義しますが、hashタイプ でなければなりません. datatype:ソースデータのタイプを識別する webixはJSON(default)、JSArray、XML、CSV and HTML tableデータをサポートし、指定がなければjson を使用する
例6:イベント,リストへの追加削除を実現する.
操作関数をコントロールに添付してAppの交差イベントを実現使用ID は、1つのコンポーネントビューにおけるイベント を指定する必要があります.は、コントロール に関数を追加する.
リストに行データを追加する方法リストに1行のデータを追加するには、まずフォームからテキスト値を取得します. フォームの値を取得するには、$(「myform」)などのフォームのIDを使用します.getValues() 指定値を得るためには、フォーム内のコントロールのnameを$(「myform」)と指定する必要がある.getValues().title
リストによるデータの更新は、リストで選択するデータ項目をformに対応するドメイン に送信する. formで自分が変更したデータを元のリストのデータ に置き換える.
リストからデータを削除リストで選択するID を取得する.選択テーブル列のデータをリストから削除する .
削除フォームを改善し、削除する前にプロンプト確認ボックスを提供し、webixを通過する.confirm()実装 title、ウィンドウタイトル text,ウィンドウのヒント情報 callback、ボタン(yesまたはno)をクリックしたトリガ関数
参照ソース:
https://github.com/tomlxq/best-practice/tree/master/gs-webix
本稿では,クイックエントリー例について詳細に説明する.
例1:行と列
レイアウトは行と列によって決定され、行と列の間のborderがtypeによって設定されるtypeの可能な値は「line」(default)、「head」、「space」、「wide」and「clean」(borderless)である.
webix.ui({
type:"line",
rows: [
{ template:"Row 1"},
{ template:"Row2"}
]
});
例2:widthとheightレイアウトサイズの設定
レイアウトのサイズはwidthとheightで構成できます
webix.ui({
width:400,
height:200,
type:"line",
rows: [
{ template:"Row 1"},
{ template:"Row2"}
]
});
例3:カスタムhtml実装レイアウト
レイアウトは、containerプロパティ
を構成することによって、カスタムhtmlで実現することもできる.webix.ui({
type: "line",
container: "testA",
// ...
});
例4:欄と列
webix.ui({
type:"line",
rows: [
{ template:"Row 1",height:50},
{view:"resizer"}, //!resizer line
{ cols:[ //2nd row
{ template:"Column 1"},
{},//!empty
{ template:"Column 2"}
]}
]
});
例5:ツールバーとリスト
var filmset = [
{ id:1, title:"The Shawshank Redemption", year:1994},
{ id:2, title:"The Godfather", year:1972},
{ id:3, title:"The Godfather: Part II", year:1974},
{ id:4, title:"The Good, the Bad and the Ugly", year:1966},
{ id:5, title:"My Fair Lady", year:1964},
{ id:6, title:"12 Angry Men", year:1957}
];
webix.ui({
type:"line",
rows: [
{ view:"toolbar", id:"mybar", elements:[
{ view:"button", value:"Add", width: 70},
{ view:"button", value:"Delete", width: 70 },
{ view:"button", value:"Update", width: 70 },
{ view:"button", value:"Clear Form", width: 85 }]
},
{ cols:[
{view:"form", id:"myform", width:200, elements:[
{ view:"text", name:"title", placeholder:"Title", width:180, align:"center"},
{ view:"text", name:"year", placeholder:"Year", width:180, align:"center"} ]
},
{
view:"list",
id:"mylist",
template:"#id# - #title# - #year#",
select:false, //enables selection
height:400,
data: filmset
}
]}
]
});
例6:イベント,リストへの追加削除を実現する.
操作関数をコントロールに添付してAppの交差イベントを実現
リストに行データを追加する方法
リストによるデータの更新
リストからデータを削除
削除フォームを改善し、削除する前にプロンプト確認ボックスを提供し、webixを通過する.confirm()実装
webix.ui.fullScreen();
var filmset = [
{id: 1, title: "The Shawshank Redemption", year: 1994},
{id: 2, title: "The Godfather", year: 1972},
{id: 3, title: "The Godfather: Part II", year: 1974},
{id: 4, title: "The Good, the Bad and the Ugly", year: 1966},
{id: 5, title: "My Fair Lady", year: 1964},
{id: 6, title: "12 Angry Men", year: 1957}
];
//function add_row() {
// webix.message("Add")
//}
//function update_row() {
// webix.message("Update")
//}
//function delete_row() {
// webix.message("Delete")
//}
webix.ui({
rows: [
{
view: "toolbar", id: "mybar", elements: [
{view: "button", value: "Add", width: 70, click: add_row},
{view: "button", value: "Delete", width: 70, click: delete_row},
{view: "button", value: "Update", width: 70, click: update_row},
{view: "button", value: "Clear Form", width: 85, click: "$$('myform').clear()"}]
},
{
cols: [
{
view: "form", id: "myform", width: 200, elements: [
{view: "text", name: "title", placeholder: "Title", width: 180, align: "center"},
{view: "text", name: "year", placeholder: "Year", width: 180, align: "center"}]
},
{
view: "list",
id: "mylist",
template: "#title# - #year#",
select: true, //enables selection
height: 400,
data: filmset
}
]
}
]
});
//adding form data to a list while creating a new row for it
function add_row() {
$$("mylist").add({
title: $$("myform").getValues().title,
year: $$("myform").getValues().year,
})
}
// , form
$$("mylist").attachEvent("onAfterSelect", function (id) {
$$("myform").setValues({
title: $$("mylist").getItem(id).title,
year: $$("mylist").getItem(id).year
});
});
function update_row() {
// ID
var sel = $$("mylist").getSelectedId();
if (!sel) return;
// form
var value1 = $$("myform").getValues().title;
var value2 = $$("myform").getValues().year;
//
var item = $$("mylist").getItem(sel); //selected item object
item.title = value1;
item.year = value2;
//
$$("mylist").updateItem(sel, item);
}
function delete_row()
{
// ID
var sel = $$("mylist").getSelectedId();
if (!sel) return;
var item = $$("mylist").getItem(sel); //selected item object
var title=item.title;
var year=item.year;
webix.confirm({
title: "Delete",
text: "Are you sure you want to delete ["+title+" - "+year+"] from the list?",
callback: function(result) {
if (result) {
//
$$("mylist").remove(sel);
}
}
});
}
参照ソース:
https://github.com/tomlxq/best-practice/tree/master/gs-webix