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