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