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