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                 
196                 var sc = _this.grid.getSelectionModel().getSelected();
197                 console.log(sc);
198                 if (!ids.length) {
199                     Roo.MessageBox.alert("Error", "Select rows by clicking the row");
200                     return;
201                 }
202                 
203                 Roo.MessageBox.confirm(
204                     "Confirm", 
205                     "Confirm Deletion of selected rows (some rows can not be deleted if they are referenced elsewhere", 
206                     function(res) {
207                         if(res != 'yes') {
208                             return;
209                         }
210                         new Pman.Request({
211                             method : 'POST',
212                             url : baseURL + '/Roo/Core_enum',
213                             params : {
214                                 _delete  : ids.join(',')
215                             },
216                             success : function() {
217                                 _this.grid.footer.onClick('refresh');
218                             }
219                         });
220                     }
221                 );
222             }
223           },
224           xns : Roo.Toolbar,
225           '|xns' : 'Roo.Toolbar'
226          }
227         ]
228        },
229        dataSource : {
230         xtype : 'Store',
231         remoteSort : true,
232         sortInfo : { field: 'created' , direction: 'DESC' },
233         listeners : {
234          beforeload : function (_self, o)
235           {
236               //o.params.ontable = 'Companies';
237               
238             //   o.params.imgtype = 'PressRelease';
239               
240               o.params = o.params || {};
241               o.params.onid = _this.data.onid;
242               o.params.ontable = 'core_enum';
243               Roo.log(_this);
244               
245           },
246          load : function (_self, records, options)
247           {
248            _this.panel.el.unmask();
249           }
250         },
251         xns : Roo.data,
252         '|xns' : 'Roo.data',
253         proxy : {
254          xtype : 'HttpProxy',
255          method : 'GET',
256          url : baseURL + '/Roo/Images.php',
257          xns : Roo.data,
258          '|xns' : 'Roo.data'
259         },
260         reader : {
261          xtype : 'JsonReader',
262          fields : [
263              {
264                  'name': 'id',
265                  'type': 'int'
266              },
267              {
268                  'name': 'filename',
269                  'type': 'string'
270              },
271              {
272                  'name': 'ontable',
273                  'type': 'string'
274              },
275              {
276                  'name': 'onid',
277                  'type': 'int'
278              },
279              {
280                  'name': 'mimetype',
281                  'type': 'string'
282              },
283              {
284                  'name': 'width',
285                  'type': 'int'
286              },
287              {
288                  'name': 'height',
289                  'type': 'int'
290              },
291              {
292                  'name': 'filesize',
293                  'type': 'int'
294              },
295              {
296                  'name': 'displayorder',
297                  'type': 'int'
298              },
299              {
300                  'name': 'language',
301                  'type': 'string'
302              },
303              {
304                  'name': 'parent_image_id',
305                  'type': 'int'
306              },
307              {
308                  'name': 'created',
309                  'type': 'date',
310                  'dateFormat' : 'Y-m-d H:i:s'
311              },
312              {
313                  'name': 'imgtype',
314                  'type': 'string'
315              },
316              {
317                  'name': 'linkurl',
318                  'type': 'string'
319              },
320              {
321                  'name': 'descript',
322                  'type': 'string'
323              },
324              {
325                  'name': 'title',
326                  'type': 'string'
327              }
328          ],
329          id : 'id',
330          root : 'data',
331          totalProperty : 'total',
332          xns : Roo.data,
333          '|xns' : 'Roo.data'
334         }
335        },
336        colModel : [
337         {
338          xtype : 'ColumnModel',
339          dataIndex : 'created',
340          header : _this._strings['0eceeb45861f9585dd7a97a3e36f85c6'] /* Created */,
341          renderer : function(v,x,r) {
342                 return String.format('{0}<br/><i>{1}</i><br/>{2}<br/><i>{3}x{4}</i>',
343                      v.format('d/M/Y'), r.data.mimetype, r.data.filename,
344              r.data.width, r.data.height
345              ); 
346          },
347          sortable : true,
348          width : 100,
349          xns : Roo.grid,
350          '|xns' : 'Roo.grid'
351         },
352         {
353          xtype : 'ColumnModel',
354          dataIndex : 'id',
355          header : _this._strings['be53a0541a6d36f6ecb879fa2c584b08'] /* Image */,
356          renderer : function(v,x,r) { return String.format('<img src="{0}/Images/Thumb/100/{1}/{2}" width="100">', baseURL, v, r.data.filename); },
357          width : 100,
358          xns : Roo.grid,
359          '|xns' : 'Roo.grid'
360         },
361         {
362          xtype : 'ColumnModel',
363          dataIndex : 'title',
364          header : _this._strings['b78a3223503896721cca1303f776159b'] /* Title */,
365          renderer : function(v,x,r) {
366          //     var surl = r.json.url.replace(/\/release.php\/Images\//, '/i/').replace(/\/([0-9]+)\/.*$/, '/$1');;
367            //   var svurl = r.json.url_view.replace(/\/release.php\/Images\//, '/i/').replace(/\/([0-9]+)\/.*$/, '/$1');;
368              //  return String.format(
369                //    'Download Url : <a href="http://{0}{1}" target="_new">http://{0}{1}</a>' + 
370                  //  '<br/>View Url : <a href="http://{0}{2}" target="_new">http://{0}{2}</a>' + 
371                    //'<br/><b>{3}</b><br/>{4}</i>', 
372                   // window.location.host, surl, svurl,
373                    // v, r.json.descript); 
374               
375              },
376          width : 100,
377          xns : Roo.grid,
378          '|xns' : 'Roo.grid'
379         }
380        ]
381       }
382      }
383     ]
384    });
385  }
386 };