Pman.Dialog.AdminEnumImages.bjs
[Pman.Admin] / Pman.Dialog.AdminEnumImages.js
1 //<script type="text/javascript">
2
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
4
5 Roo.namespace('Pman.Dialog');
6
7 Pman.Dialog.AdminEnumImages = {
8
9  _strings : {
10   '0c81971f67c0bd4b33799c5365ec2bf5' :"No Images found",
11   '5b94af0908e765fe39e4d0e8f9c99ef8' :"Add / Edit Images",
12   'fff0d600f8a0b5e19e88bfb821dd1157' :"Images",
13   'ec211f7c20af43e742bf2570c3cb84f9' :"Add",
14   '0eceeb45861f9585dd7a97a3e36f85c6' :"Created",
15   '7dce122004969d56ae2e0245cb754d35' :"Edit",
16   'be53a0541a6d36f6ecb879fa2c584b08' :"Image",
17   'b78a3223503896721cca1303f776159b' :"Title",
18   'd3d2e617335f08df83599665eef8a418' :"Close",
19   'c0ed345ec857c06b31f7e88745c9bc40' :"Displaying Images  {0} - {1} of {2}",
20   'f2a6c498fb90ee345d997f888fce3b18' :"Delete"
21  },
22
23  dialog : false,
24  callback:  false,
25
26  show : function(data, cb)
27  {
28   if (!this.dialog) {
29    this.create();
30   }
31
32   this.callback = cb;
33   this.data = data;
34   this.dialog.show(this.data._el);
35   if (this.form) {
36    this.form.reset();
37    this.form.setValues(data);
38    this.form.fireEvent('actioncomplete', this.form,  { type: 'setdata', data: data });
39   }
40
41  },
42
43  create : function()
44  {
45    var _this = this;
46    this.dialog = Roo.factory({
47     xtype : 'LayoutDialog',
48     height : 500,
49     modal : true,
50     title : _this._strings['5b94af0908e765fe39e4d0e8f9c99ef8'] /* Add / Edit Images */,
51     width : 900,
52     listeners : {
53      show : function (_self)
54       {
55           _this.grid.footer.onClick('first');
56       }
57     },
58     xns : Roo,
59     '|xns' : 'Roo',
60     center : {
61      xtype : 'LayoutRegion',
62      xns : Roo,
63      '|xns' : 'Roo'
64     },
65     buttons : [
66      {
67       xtype : 'Button',
68       text : _this._strings['d3d2e617335f08df83599665eef8a418'] /* Close */,
69       listeners : {
70        click : function (_self, e)
71         {
72             _this.dialog.hide();
73             _this.callback(true);
74         }
75       },
76       xns : Roo,
77       '|xns' : 'Roo'
78      }
79     ],
80     items  : [
81      {
82       xtype : 'GridPanel',
83       background : false,
84       fitContainer : true,
85       fitToframe : true,
86       region : 'center',
87       tableName : 'Images',
88       title : _this._strings['fff0d600f8a0b5e19e88bfb821dd1157'] /* Images */,
89       listeners : {
90        activate : function() {
91             _this.panel = this;
92             if (_this.grid) {
93                 _this.grid.footer.onClick('first');
94             }
95         }
96       },
97       xns : Roo,
98       '|xns' : 'Roo',
99       grid : {
100        xtype : 'Grid',
101        autoExpandColumn : 'title',
102        loadMask : true,
103        listeners : {
104         render : function() { 
105              _this.grid = this; 
106              //_this.dialog = Pman.Dialog.FILL_IN
107              //if (_this.panel.active) {
108              //   this.footer.onClick('first');
109              //}
110          },
111         rowdblclick : function (_self, rowIndex, e)
112          {
113            
114             var s =  _self.getDataSource().getAt(rowIndex);
115               Pman.Dialog.Image.show(s.data, function() {
116                          _this.grid.footer.onClick('first');
117                         }); 
118          }
119        },
120        xns : Roo.grid,
121        '|xns' : 'Roo.grid',
122        footer : {
123         xtype : 'PagingToolbar',
124         displayInfo : true,
125         displayMsg : _this._strings['c0ed345ec857c06b31f7e88745c9bc40'] /* Displaying Images  {0} - {1} of {2} */,
126         emptyMsg : _this._strings['0c81971f67c0bd4b33799c5365ec2bf5'] /* No Images found */,
127         pageSize : 25,
128         xns : Roo,
129         '|xns' : 'Roo'
130        },
131        toolbar : {
132         xtype : 'Toolbar',
133         xns : Roo,
134         '|xns' : 'Roo',
135         items  : [
136          {
137           xtype : 'Button',
138           cls : 'x-btn-text-icon',
139           icon : Roo.rootURL + 'images/default/dd/drop-add.gif',
140           text : _this._strings['ec211f7c20af43e742bf2570c3cb84f9'] /* Add */,
141           listeners : {
142            click : function()
143             {
144                         
145                 //var sel = Pman.Tab.PressReleaseCompanies  ? Pman.Tab.PressReleaseCompanies.grid.getSelectionModel().getSelected() : false
146                  
147                 Pman.Dialog.Image.show({
148                     id : 0, 
149                     ontable: 'core_enum',
150                     onid: _this.data.onid,
151                     imgtype : ''
152                 }, function(data){
153                     if (!data) { return; } 
154                     _this.grid.footer.onClick('first');
155                 }); 
156             
157             }
158           },
159           xns : Roo.Toolbar,
160           '|xns' : 'Roo.Toolbar'
161          },
162          {
163           xtype : 'Button',
164           cls : 'x-btn-text-icon',
165           icon : Roo.rootURL + 'images/default/tree/leaf.gif',
166           text : _this._strings['7dce122004969d56ae2e0245cb754d35'] /* Edit */,
167           listeners : {
168            click : function()
169             {
170                 var s = _this.grid.getSelectionModel().getSelections();
171                 if (!s || s.length != 1) {
172                     Roo.MessageBox.alert("Error", "Select a single image to edit");
173                    return;
174                  }
175                  var data = _this.grid.getDataSource().getById(s[0].data.id).data;
176                 
177                          Pman.Dialog.Image.show(data, function() {
178                             _this.grid.footer.onClick('first');
179                            });
180                         
181                     }
182           },
183           xns : Roo,
184           '|xns' : 'Roo'
185          },
186          {
187           xtype : 'Button',
188           cls : 'x-btn-text-icon',
189           icon : rootURL + '/Pman/templates/images/trash.gif',
190           text : _this._strings['f2a6c498fb90ee345d997f888fce3b18'] /* Delete */,
191           listeners : {
192            click : function()
193             {
194                 var ids = [];
195                 _this.grid.dataSource.each(function(rr) {
196                     console.log(rr);
197                     if (rr.selected) {
198                         
199                         ids.push(rr.data.id);
200                     }
201                 });   
202                 if (!ids.length) {
203                     Roo.MessageBox.alert("Error", "Select rows by clicking the row");
204                     return;
205                 }
206                 
207                 Roo.MessageBox.confirm(
208                     "Confirm", 
209                     "Confirm Deletion of selected rows (some rows can not be deleted if they are referenced elsewhere", 
210                     function(res) {
211                         if(res != 'yes') {
212                             return;
213                         }
214                         new Pman.Request({
215                             method : 'POST',
216                             url : baseURL + '/Roo/Core_enum',
217                             params : {
218                                 _delete  : ids.join(',')
219                             },
220                             success : function() {
221                                 _this.grid.footer.onClick('refresh');
222                             }
223                         });
224                     }
225                 );
226             }
227           },
228           xns : Roo.Toolbar,
229           '|xns' : 'Roo.Toolbar'
230          }
231         ]
232        },
233        dataSource : {
234         xtype : 'Store',
235         remoteSort : true,
236         sortInfo : { field: 'created' , direction: 'DESC' },
237         listeners : {
238          beforeload : function (_self, o)
239           {
240               //o.params.ontable = 'Companies';
241               
242             //   o.params.imgtype = 'PressRelease';
243               
244               o.params = o.params || {};
245               o.params.onid = _this.data.onid;
246               o.params.ontable = 'core_enum';
247               Roo.log(_this);
248               
249           },
250          load : function (_self, records, options)
251           {
252            _this.panel.el.unmask();
253           }
254         },
255         xns : Roo.data,
256         '|xns' : 'Roo.data',
257         proxy : {
258          xtype : 'HttpProxy',
259          method : 'GET',
260          url : baseURL + '/Roo/Images.php',
261          xns : Roo.data,
262          '|xns' : 'Roo.data'
263         },
264         reader : {
265          xtype : 'JsonReader',
266          fields : [
267              {
268                  'name': 'id',
269                  'type': 'int'
270              },
271              {
272                  'name': 'filename',
273                  'type': 'string'
274              },
275              {
276                  'name': 'ontable',
277                  'type': 'string'
278              },
279              {
280                  'name': 'onid',
281                  'type': 'int'
282              },
283              {
284                  'name': 'mimetype',
285                  'type': 'string'
286              },
287              {
288                  'name': 'width',
289                  'type': 'int'
290              },
291              {
292                  'name': 'height',
293                  'type': 'int'
294              },
295              {
296                  'name': 'filesize',
297                  'type': 'int'
298              },
299              {
300                  'name': 'displayorder',
301                  'type': 'int'
302              },
303              {
304                  'name': 'language',
305                  'type': 'string'
306              },
307              {
308                  'name': 'parent_image_id',
309                  'type': 'int'
310              },
311              {
312                  'name': 'created',
313                  'type': 'date',
314                  'dateFormat' : 'Y-m-d H:i:s'
315              },
316              {
317                  'name': 'imgtype',
318                  'type': 'string'
319              },
320              {
321                  'name': 'linkurl',
322                  'type': 'string'
323              },
324              {
325                  'name': 'descript',
326                  'type': 'string'
327              },
328              {
329                  'name': 'title',
330                  'type': 'string'
331              }
332          ],
333          id : 'id',
334          root : 'data',
335          totalProperty : 'total',
336          xns : Roo.data,
337          '|xns' : 'Roo.data'
338         }
339        },
340        colModel : [
341         {
342          xtype : 'ColumnModel',
343          dataIndex : 'created',
344          header : _this._strings['0eceeb45861f9585dd7a97a3e36f85c6'] /* Created */,
345          renderer : function(v,x,r) {
346                 return String.format('{0}<br/><i>{1}</i><br/>{2}<br/><i>{3}x{4}</i>',
347                      v.format('d/M/Y'), r.data.mimetype, r.data.filename,
348              r.data.width, r.data.height
349              ); 
350          },
351          sortable : true,
352          width : 100,
353          xns : Roo.grid,
354          '|xns' : 'Roo.grid'
355         },
356         {
357          xtype : 'ColumnModel',
358          dataIndex : 'id',
359          header : _this._strings['be53a0541a6d36f6ecb879fa2c584b08'] /* Image */,
360          renderer : function(v,x,r) { return String.format('<img src="{0}/Images/Thumb/100/{1}/{2}" width="100">', baseURL, v, r.data.filename); },
361          width : 100,
362          xns : Roo.grid,
363          '|xns' : 'Roo.grid'
364         },
365         {
366          xtype : 'ColumnModel',
367          dataIndex : 'title',
368          header : _this._strings['b78a3223503896721cca1303f776159b'] /* Title */,
369          renderer : function(v,x,r) {
370          //     var surl = r.json.url.replace(/\/release.php\/Images\//, '/i/').replace(/\/([0-9]+)\/.*$/, '/$1');;
371            //   var svurl = r.json.url_view.replace(/\/release.php\/Images\//, '/i/').replace(/\/([0-9]+)\/.*$/, '/$1');;
372              //  return String.format(
373                //    'Download Url : <a href="http://{0}{1}" target="_new">http://{0}{1}</a>' + 
374                  //  '<br/>View Url : <a href="http://{0}{2}" target="_new">http://{0}{2}</a>' + 
375                    //'<br/><b>{3}</b><br/>{4}</i>', 
376                   // window.location.host, surl, svurl,
377                    // v, r.json.descript); 
378               
379              },
380          width : 100,
381          xns : Roo.grid,
382          '|xns' : 'Roo.grid'
383         }
384        ]
385       }
386      }
387     ]
388    });
389  }
390 };