1 //<script type="text/javascript">
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
7 // register the module first
8 Pman.on('beforeload', function()
11 part : ["Builder","View"],
12 modKey : '001-Pman.Tab.BuilderView',
13 module : Pman.Tab.BuilderView,
15 parent : Pman.Tab.BuilderTab,
16 name : "Pman.Tab.BuilderView",
22 Pman.Tab.BuilderView = new Roo.util.Observable({
28 add : function(parentLayout, region)
32 this.parentLayout = parentLayout;
34 this.panel = parentLayout.addxtype({
35 xtype: 'NestedLayoutPanel',
38 activate : function (_self)
45 clearAll : function(isAuto) {
46 // this.renderObj = { isBuilder : true };
50 this.scroll = this.panelroot.el.getScroll();
51 this.layout.remove('center', this.panelroot);
52 this.panelroot = false;
54 if (this.dialogroot) {
55 this.dialogroot.remove();
56 this.dialogroot = false;
59 munge : function(cfg, keyname) {
60 keyname = keyname || false;
62 this.renderObj = this.renderObj || {};
70 if (typeof(cfg.background) != 'undefined') {
71 cfg.background = false;
76 // key is not string?!?!?!!?
77 if (typeof(p) != 'string') {
81 if (typeof(cfg[p]) == 'object') { // listeners!!!
82 this.munge(cfg[p], p);
86 if (p.charAt(0) == '|' || keyname=='listeners') {
93 if (str.match(/\s*function/)) {
94 var btz = str.split('{');
95 str = btz.shift() +'{ try {' + btz.join('{') +
96 ' catch (e) { Roo.log(e) } }';
100 var _this = this.renderObj; /// fake '_this' object..
101 // stupid IE can not return objects evaluated..
108 eval('_tmp =(' + str + ')');
109 cfg[p.replace(/^\|/, '')] = _tmp;
110 if (typeof(_tmp) == 'undefined') {
114 } catch(e) { console.log('Error evaluating: ' + str); };
115 if (p.charAt(0) == '|' ) {
123 if ((p.charAt(0) == '*') || (p.charAt(0) == '+')) {
130 // now for all the children.. (items)
131 if (xitems === false) {
135 for (var i = 0; i < xitems.length; i++) {
136 // if +builderhide set !!!! drop it!!
140 if (typeof(xi['*prop']) != 'undefined') {
141 var pr = xi['*prop'];
143 // if prop is an array - then it's items are really the value..
144 if (pr.match(/\[\]$/)) {
145 pr = pr.replace(/\[\]$/, '');
146 if (typeof(cfg[pr]) == 'undefined') {
152 if (xi.xtype && xi.xtype == 'Array') {
165 if (cfg.items.length == 0) {
168 // remove listeners if there are none..
169 if (typeof(cfg['listeners']) != 'undefined') {
171 for (var i in cfg.listeners) { n++; }
173 delete cfg['listeners'];
178 if (typeof(cfg.id) != 'undefined') {
179 cfg.id = 'pman-dyn-' + cfg.id;
184 redraw : function(isAuto)
187 // top level is not relivant
189 // var btop = Pman.Tab.BuilderTop2;
190 // if (isAuto && btop.redrawBtn && !btop.redrawBtn.auto) {
191 // return; /// auto redraw is turned off..
194 this.clearAll(isAuto);
196 var cfg = this.toJS();
202 this.munge(cfg.items[0]);
204 // we draw either a dialog or a tab..
206 if (cfg.items[0].xtype == 'LayoutDialog') {
208 cfg.items[0].modal = false;
209 var xy = this.el.getXY();
210 cfg.items[0].x = xy[0];
211 cfg.items[0].y = xy[1];
212 cfg.items[0].constraintoviewport = false;
214 this.dialogroot = Roo.get( document.body).createChild();
216 this.dialog = new Roo[cfg.items[0].xtype](this.dialogroot, cfg.items[0]);
217 // this.dialog.el.on('click', this.panelClick, this);
219 var dlg = this.dialog;
221 dlg.moveTo(xy[0], xy[1]);
224 Roo.log("Error rendering: " + e.toString());
231 // should we render this into a dialog???
232 // force center region..
233 cfg.items[0].region = 'center';
234 cfg.items[0].background = false;
237 this.panelroot = this.layout.addxtype(cfg.items[0]);
240 Roo.log("Error rendering: " + e.toString());
243 //this.highlightElement(Pman.Tab.BuilderTree.currentNode);
245 if (this.panelroot && this.panelroot.el) {
246 this.panelroot.el.scrollTo('top', 0);
247 this.panelroot.el.scrollTo('left', 0);
254 return Pman.Builder.Tree.toJS(Pman.Tab.BuilderTree.tree.root);
258 var ret = Pman.Builder.Tree.cloneConfig(n.elConfig);
260 // flag to prevent rendering..
261 if ((typeof(ret['+buildershow']) != 'undefined') && !ret['+buildershow']) {
265 ret.id = typeof(ret.id) == 'undefined' ? 'builder-' + n.id : ret.id;
267 if (n.childNodes.length) {
269 n.eachChild(function(cn) {
270 var add = _this.toJS(cn);
283 xtype: 'BorderLayout',
286 xtype: 'LayoutRegion',
288 alwaysShowTabs : true,
293 this.layout = this.panel.layout;