1bfbbdb4bdcac68c25d10e2a5b605a59c967c471
[ccsdk/features.git] /
1 /**
2  * Copyright 2010-2013 Ben Birch
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this software except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *   http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 (function( $, app ) {
17
18         var ui = app.ns("ui");
19         var ut = app.ns("ut");
20
21         ui.PanelForm = ui.AbstractWidget.extend({
22                 defaults: {
23                         fields: null    // (required) instanceof app.ux.FieldCollection
24                 },
25                 init: function(parent) {
26                         this._super();
27                         this.el = $.joey(this._main_template());
28                         this.attach( parent );
29                 },
30                 _main_template: function() {
31                         return { tag: "DIV", id: this.id(), cls: "uiPanelForm", children: this.config.fields.fields.map(this._field_template, this) };
32                 },
33                 _field_template: function(field) {
34                         return { tag: "LABEL", cls: "uiPanelForm-field", children: [
35                                 { tag: "DIV", cls: "uiPanelForm-label", children: [ field.label, ut.require_template(field) ] },
36                                 field
37                         ]};
38                 }
39         });
40
41 })( this.jQuery, this.app );