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 Pman.Dialog.AdminEnumImages = {
6
7     dialog : false,
8     callback:  false,
9
10     show : function(data, cb)
11     {
12         if (!this.dialog) {
13             this.create();
14         }
15
16         this.callback = cb;
17         this.data = data;
18         this.dialog.show(this.data._el);
19         if (this.form) {
20            this.form.reset();
21            this.form.setValues(data);
22            this.form.fireEvent('actioncomplete', this.form,  { type: 'setdata', data: data });
23         }
24
25     },
26
27     create : function()
28     {
29         var _this = this;
30         this.dialog = Roo.factory({
31             xtype: 'LayoutDialog',
32             xns: Roo,
33             items : [
34                 {
35                     xtype: 'GridPanel',
36                     xns: Roo,
37                     listeners : {
38                         activate : function() {
39                             _this.panel = this;
40                             if (_this.grid) {
41                                 _this.grid.footer.onClick('first');
42                             }
43                         }
44                     },
45                     region : 'center',
46                     background : true,
47                     fitContainer : true,
48                     fitToframe : true,
49                     tableName : 'Images',
50                     title : "Images",
51                     grid : {
52                         xtype: 'Grid',
53                         xns: Roo.grid,
54                         autoExpandColumn : 'title',
55                         loadMask : true,
56                         listeners : {
57                             render : function() { 
58                                 _this.grid = this; 
59                                 //_this.dialog = Pman.Dialog.FILL_IN
60                                 if (_this.panel.active) {
61                                    this.footer.onClick('first');
62                                 }
63                             },
64                             rowdblclick : function (_self, rowIndex, e)
65                             {
66                               
67                                var s =  _self.getDataSource().getAt(rowIndex);
68                                  Pman.Dialog.PressReleaseImage.show(s.data, function() {
69                                             _this.grid.footer.onClick('first');
70                                            }); 
71                             }
72                         },
73                         dataSource : {
74                             xtype: 'Store',
75                             xns: Roo.data,
76                             listeners : {
77                                 beforeload : function (_self, o)
78                                 {
79                                     o.params.ontable = 'Companies';
80                                     o.params['query[imagesize]'] = '150x150';
81                                     o.params['query[imageBaseURL]'] = rootURL + '/release.php';
82                                       
83                                     var sel = Pman.Tab.PressReleaseCompanies  ? Pman.Tab.PressReleaseCompanies.grid.getSelectionModel().getSelected() : false
84                                   //   o.params.imgtype = 'PressRelease';
85                                     o.params.onid = sel ? sel.data.id : 0;
86                                     if (!o.params.onid) {
87                                          if (!_this.isBuilder) {
88                                            _this.panel.el.mask('select company');
89                                         }
90                                          return false;
91                                     }
92                                     
93                                     
94                                 },
95                                 load : function (_self, records, options)
96                                 {
97                                  _this.panel.el.unmask();
98                                 }
99                             },
100                             remoteSort : true,
101                             sortInfo : { field: 'created' , direction: 'DESC' },
102                             reader : {
103                                 xtype: 'JsonReader',
104                                 xns: Roo.data,
105                                 id : 'id',
106                                 root : 'data',
107                                 totalProperty : 'total',
108                                 fields : [
109                                     {
110                                         'name': 'id',
111                                         'type': 'int'
112                                     },
113                                     {
114                                         'name': 'filename',
115                                         'type': 'string'
116                                     },
117                                     {
118                                         'name': 'ontable',
119                                         'type': 'string'
120                                     },
121                                     {
122                                         'name': 'onid',
123                                         'type': 'int'
124                                     },
125                                     {
126                                         'name': 'mimetype',
127                                         'type': 'string'
128                                     },
129                                     {
130                                         'name': 'width',
131                                         'type': 'int'
132                                     },
133                                     {
134                                         'name': 'height',
135                                         'type': 'int'
136                                     },
137                                     {
138                                         'name': 'filesize',
139                                         'type': 'int'
140                                     },
141                                     {
142                                         'name': 'displayorder',
143                                         'type': 'int'
144                                     },
145                                     {
146                                         'name': 'language',
147                                         'type': 'string'
148                                     },
149                                     {
150                                         'name': 'parent_image_id',
151                                         'type': 'int'
152                                     },
153                                     {
154                                         'name': 'created',
155                                         'type': 'date',
156                                         'dateFormat' : 'Y-m-d H:i:s'
157                                     },
158                                     {
159                                         'name': 'imgtype',
160                                         'type': 'string'
161                                     },
162                                     {
163                                         'name': 'linkurl',
164                                         'type': 'string'
165                                     },
166                                     {
167                                         'name': 'descript',
168                                         'type': 'string'
169                                     },
170                                     {
171                                         'name': 'title',
172                                         'type': 'string'
173                                     }
174                                 ]
175                             },
176                             proxy : {
177                                 xtype: 'HttpProxy',
178                                 xns: Roo.data,
179                                 method : 'GET',
180                                 url : baseURL + '/Roo/Images.php'
181                             }
182                         },
183                         footer : {
184                             xtype: 'PagingToolbar',
185                             xns: Roo,
186                             pageSize : 25,
187                             displayInfo : true,
188                             displayMsg : "Displaying Images  {0} - {1} of {2}",
189                             emptyMsg : "No Images found"
190                         },
191                         toolbar : {
192                             xtype: 'Toolbar',
193                             xns: Roo,
194                             items : [
195                                 {
196                                     xtype: 'Button',
197                                     xns: Roo.Toolbar,
198                                     listeners : {
199                                         click : function()
200                                                 {
201                                                     
202                                               var sel = Pman.Tab.PressReleaseCompanies  ? Pman.Tab.PressReleaseCompanies.grid.getSelectionModel().getSelected() : false
203                                              
204                                             Pman.Dialog.Image.show( {
205                                                id : 0, 
206                                                 ontable: 'Companies', 
207                                                  onid: sel.data.id,
208                                             imgtype : 'PressRelease'
209                                              }, 
210                                             function(data) {
211                                                         if (!data) { return; } 
212                                              Pman.Dialog.PressReleaseImage.show( data, function() {
213                                                           _this.grid.footer.onClick('first');
214                                         
215                                                     }); 
216                                                         }); 
217                                         
218                                                 }
219                                     },
220                                     cls : 'x-btn-text-icon',
221                                     text : "Add",
222                                     icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
223                                 },
224                                 {
225                                     xtype: 'Button',
226                                     xns: Roo,
227                                     listeners : {
228                                         click : function()
229                                         {
230                                             var s = _this.grid.getSelectionModel().getSelections();
231                                             if (!s || s.length != 1) {
232                                                 Roo.MessageBox.alert("Error", "Select a single image to edit");
233                                                return;
234                                              }
235                                              var data = _this.grid.getDataSource().getById(s[0].data.id).data;
236                                             
237                                                      Pman.Dialog.PressReleaseImage.show(data, function() {
238                                                         _this.grid.footer.onClick('first');
239                                                        }); 
240                                                     
241                                                 }
242                                     },
243                                     cls : 'x-btn-text-icon',
244                                     text : "Edit",
245                                     icon : Roo.rootURL + 'images/default/tree/leaf.gif'
246                                 },
247                                 {
248                                     xtype: 'Button',
249                                     xns: Roo.Toolbar,
250                                     listeners : {
251                                         click : function()
252                                                 {
253                                                 Pman.genericDelete(_this, 'Images'); 
254                                                 }
255                                     },
256                                     cls : 'x-btn-text-icon',
257                                     text : "Delete",
258                                     icon : rootURL + '/Pman/templates/images/trash.gif'
259                                 }
260                             ]
261                         },
262                         colModel : [
263                             {
264                                 xtype: 'ColumnModel',
265                                 xns: Roo.grid,
266                                 header : 'Created',
267                                 width : 100,
268                                 dataIndex : 'created',
269                                 renderer : function(v,x,r) {
270                                        return String.format('{0}<br/><i>{1}</i><br/>{2}<br/><i>{3}x{4}</i>',
271                                             v.format('d/M/Y'), r.data.mimetype, r.data.filename,
272                                     r.data.width, r.data.height
273                                     ); 
274                                 },
275                                 sortable : true
276                             },
277                             {
278                                 xtype: 'ColumnModel',
279                                 xns: Roo.grid,
280                                 dataIndex : 'id',
281                                 header : 'Image',
282                                 width : 100,
283                                 renderer : function(v,x,r) { return String.format('<img src="{0}/Images/Thumb/100/{1}/{2}" width="100">', baseURL, v, r.data.filename); }
284                             },
285                             {
286                                 xtype: 'ColumnModel',
287                                 xns: Roo.grid,
288                                 dataIndex : 'title',
289                                 header : 'Details',
290                                 width : 100,
291                                 renderer : function(v,x,r) {
292                                      var surl = r.json.url.replace(/\/release.php\/Images\//, '/i/').replace(/\/([0-9]+)\/.*$/, '/$1');;
293                                      var svurl = r.json.url_view.replace(/\/release.php\/Images\//, '/i/').replace(/\/([0-9]+)\/.*$/, '/$1');;
294                                       return String.format(
295                                           'Download Url : <a href="http://{0}{1}" target="_new">http://{0}{1}</a>' + 
296                                           '<br/>View Url : <a href="http://{0}{2}" target="_new">http://{0}{2}</a>' + 
297                                           '<br/><b>{3}</b><br/>{4}</i>', 
298                                           window.location.host, surl, svurl,
299                                            v, r.json.descript); 
300                                      
301                                     }
302                             }
303                         ]
304                     }
305                 }
306             ],
307             center : {
308                 xtype: 'LayoutRegion',
309                 xns: Roo
310             }
311         });
312     }
313 };