check file exists
[Pman.Core] / Pman.Dialog.Image.bjs
1 {
2  "name" : "Pman.Dialog.Image",
3  "parent" : "",
4  "title" : "",
5  "path" : "/home/edward/gitlive/Pman.Core/Pman.Dialog.Image.bjs",
6  "permname" : "",
7  "modOrder" : "001",
8  "strings" : {
9   "eb5d45750c7ab13aa8e6bacc80315a30" : "32M",
10   "2859a4ae58ae4e25abdfc530f814e42f" : "Upload an Image or File",
11   "1243daf593fa297e07ab03bf06d925af" : "Searching...",
12   "ea4788705e6873b424c65e91c2846b19" : "Cancel",
13   "8e16a71b3d8217eb80b39b7d8dec4296" : "Image Type",
14   "dff0c70e4c11953e4e3ee1cf268fb96d" : "Select image type",
15   "91412465ea9169dfd901dd5e7c96dd99" : "Upload",
16   "ea72bacd2fdfa818907bb9559e6905a1" : "Upload Image or File"
17  },
18  "named_strings" : {
19   "imgtype_name_fieldLabel" : "8e16a71b3d8217eb80b39b7d8dec4296",
20   "imgtype_name_loadingText" : "1243daf593fa297e07ab03bf06d925af",
21   "imgtype_name_emptyText" : "dff0c70e4c11953e4e3ee1cf268fb96d",
22   "upload_max_filesize_value" : "eb5d45750c7ab13aa8e6bacc80315a30",
23   "imgtype_name_qtip" : "dff0c70e4c11953e4e3ee1cf268fb96d",
24   "post_max_size_value" : "eb5d45750c7ab13aa8e6bacc80315a30",
25   "imageUpload_fieldLabel" : "ea72bacd2fdfa818907bb9559e6905a1"
26  },
27  "items" : [
28   {
29    "listeners" : {
30     "show" : "function (_self)\n{\n\n    // this does not really work - escape on the borders works..\n    // resize to fit.. if we have styled stuff...\n    \n    \n    \n    \n    var d = this;\n    \n    var pad =     d.el.getSize().height - (d.header.getSize().height +\n        d.footer.getSize().height +        \n        d.layout.getRegion('center').getPanel(0).el.getSize().height\n        );\n    \n    var height = (\n        pad + \n        d.header.getSize().height +\n        d.footer.getSize().height +        \n        d.layout.getRegion('center').getPanel(0).el.child('div').getSize().height\n    );\n    this.resizeTo(d.el.getSize().width, height);\n    \n    if (this.keylistener) {\n        return;\n    }\n    this.keylistener = this.addKeyListener(27, this.hide, this);\n    \n}"
31    },
32    "modal" : true,
33    "shadow" : true,
34    "collapsible" : false,
35    "title" : "Upload an Image or File",
36    "xtype" : "LayoutDialog",
37    "uploadComplete" : false,
38    "width" : 500,
39    "$ xns" : "Roo",
40    "closable" : false,
41    "resizable" : false,
42    "haveProgress" : false,
43    "height" : 140,
44    "$ uploadProgress" : "function()\n{\n    var dlg = this;\n   if (!dlg.haveProgress) {\n        Roo.MessageBox.progress(\"Uploading\", \"Uploading\");\n    }\n    \n    if (dlg.haveProgress == 2) {\n        // it's been closed elsewhere..\n        return;\n    }\n    if (dlg.uploadComplete) {\n        Roo.MessageBox.hide();\n        return;\n    }\n    \n    dlg.haveProgress = 1;\n\n    var uid = _this.form.findField('UPLOAD_IDENTIFIER').getValue();\n    new Pman.Request({\n        url : baseURL + '/Core/UploadProgress.php',\n        params: {\n            id : uid\n        },\n        method: 'GET',\n        success : function(res){\n            //console.log(data);\n            var data = res.data;\n            if (dlg.haveProgress == 2) {\n                // it's been closed elsewhere..\n                return;\n            }\n            \n            if (dlg.uploadComplete) {\n                Roo.MessageBox.hide();\n                return;\n            }\n                \n            if (data){\n                Roo.MessageBox.updateProgress(data.bytes_uploaded/data.bytes_total,\n                    Math.floor((data.bytes_total - data.bytes_uploaded)/1000) + 'k remaining'\n                );\n            } else {\n                Roo.MessageBox.updateProgress(1,\n                    \"Upload Complete - processing\"\n                );\n                return;\n            }\n            dlg.uploadProgress.defer(2000,dlg);\n        },\n        failure: function(data) {\n          //  console.log('fail');\n         //   console.log(data);\n        }\n    })\n    \n}\n",
45    "items" : [
46     {
47      "xtype" : "LayoutRegion",
48      "$ xns" : "Roo",
49      "* prop" : "center"
50     },
51     {
52      "fitToFrame" : true,
53      "region" : "center",
54      "Boolean fitContainer" : true,
55      "xtype" : "ContentPanel",
56      "$ xns" : "Roo",
57      "items" : [
58       {
59        "listeners" : {
60         "actionfailed" : "function (_self, act)\n{\n   \n   \n    _this.dialog.uploadComplete = true;\n   // _this.dialog.el.unmask();\n    // error msg???\n     _this.dialog.haveProgress = 2; \n    if (act.type == 'submit') {\n        Roo.log(\"Upload error\");\n        Roo.log(act);\n        \n        try {\n            Roo.MessageBox.alert(\"Error\", act.result.errorMsg.split(/\\n/).join('<BR/>'));\n        } catch(e) {\n          //  Roo.log(e);\n            Roo.MessageBox.alert(\"Error\", \"Saving failed = fix errors and try again\");        \n        }\n        return;\n    }\n    \n    // what about load failing..\n    Roo.MessageBox.alert(\"Error\", \"Error loading details\"); \n}",
61         "|actioncomplete" : "function(_self,act)\n{\n    _this.dialog.uploadComplete = true;\n    _this.dialog.haveProgress = 2; \n    Roo.MessageBox.hide(); // force hiding\n    //_this.dialog.el.unmask();\n     \n    if (act.type == 'setdata') { \n    \n        _this.form.findField('imgtype').hide();\n        \n        _this.dialog.resizeTo(500, 140);\n        \n        if(_this.data._show_image_type){\n            _this.form.findField('imgtype').show();\n            _this.dialog.resizeTo(500, 170);\n        }\n        \n        this.url = _this.data._url ? _this.data._url : baseURL + '/Roo/Images.php';\n        this.el.dom.action = this.url;\n        if (typeof(_this.data.timeout) != 'undefined') {\n            this.timeout = _this.data.timeout;\n        }\n        \n        this.findField('UPLOAD_IDENTIFIER').setValue(\n            (new Date() * 1) + '' + Math.random());\n            \n        return;\n    }\n     \n   \n    if (act.type == 'load') {\n      // should this happen?  \n        _this.data = act.result.data;\n       // _this.loaded();\n        return;\n    }\n    \n    \n    if (act.type == 'submit') { // only submitted here if we are \n        _this.dialog.hide();\n        Roo.log(\"Upload success\");\n        Roo.log(act);\n        //console.log(act);\n        if (_this.callback) {\n            _this.callback.call(this, act.result.data, act.result.extra);\n        }\n        return; \n    }\n \n\n    \n}\n",
62         "|rendered" : "function (form)\n{\n    _this.form= form;\n}\n"
63        },
64        "$ url" : "baseURL + '/Roo/Images.php'",
65        "fileUpload" : true,
66        "method" : "POST",
67        "style" : "margin:10px;",
68        "xtype" : "Form",
69        "labelWidth" : 140,
70        "timeout" : 300,
71        "$ xns" : "Roo.form",
72        "items" : [
73         {
74          "xtype" : "Hidden",
75          "$ xns" : "Roo.form",
76          "name" : "UPLOAD_IDENTIFIER"
77         },
78         {
79          "xtype" : "Hidden",
80          "value" : "32M",
81          "$ xns" : "Roo.form",
82          "name" : "post_max_size"
83         },
84         {
85          "xtype" : "Hidden",
86          "value" : "32M",
87          "$ xns" : "Roo.form",
88          "name" : "upload_max_filesize"
89         },
90         {
91          "inputType" : "file",
92          "fieldLabel" : "Upload Image or File",
93          "xtype" : "TextField",
94          "width" : 200,
95          "$ xns" : "Roo.form",
96          "name" : "imageUpload"
97         },
98         {
99          "listWidth" : 400,
100          "String actionMode" : "fieldEl",
101          "alwaysQuery" : true,
102          "triggerAction" : "all",
103          "fieldLabel" : "Image Type",
104          "forceSelection" : true,
105          "selectOnFocus" : true,
106          "pageSize" : 20,
107          "displayField" : "display_name",
108          "emptyText" : "Select image type",
109          "hiddenName" : "imgtype",
110          "minChars" : 2,
111          "valueField" : "name",
112          "xtype" : "ComboBox",
113          "allowBlank" : true,
114          "typeAhead" : true,
115          "width" : 250,
116          "$ xns" : "Roo.form",
117          "name" : "imgtype_name",
118          "qtip" : "Select image type",
119          "queryParam" : "query[search]",
120          "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{display_name}</b> {name}</div>",
121          "loadingText" : "Searching...",
122          "items" : [
123           {
124            "listeners" : {
125             "|beforeload" : "function (_self, o){\n    o.params = o.params || {};\n    \n    o.params.etype = 'ImageType';\n    \n    o.params.active = 1;\n}\n"
126            },
127            "xtype" : "Store",
128            "remoteSort" : true,
129            "$ sortInfo" : "{ direction : 'ASC', field: 'name' }",
130            "$ xns" : "Roo.data",
131            "* prop" : "store",
132            "items" : [
133             {
134              "$ url" : "baseURL + '/Roo/Core_enum'",
135              "xtype" : "HttpProxy",
136              "method" : "GET",
137              "$ xns" : "Roo.data",
138              "* prop" : "proxy"
139             },
140             {
141              "id" : "id",
142              "root" : "data",
143              "xtype" : "JsonReader",
144              "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]",
145              "$ xns" : "Roo.data",
146              "* prop" : "reader",
147              "totalProperty" : "total"
148             }
149            ]
150           }
151          ]
152         },
153         {
154          "xtype" : "Hidden",
155          "$ xns" : "Roo.form",
156          "name" : "ontable"
157         },
158         {
159          "xtype" : "Hidden",
160          "$ xns" : "Roo.form",
161          "name" : "onid"
162         },
163         {
164          "xtype" : "Hidden",
165          "$ xns" : "Roo.form",
166          "name" : "id"
167         }
168        ]
169       }
170      ]
171     },
172     {
173      "listeners" : {
174       "click" : "function (_self, e)\n{\n    _this.dialog.hide();\n}"
175      },
176      "text" : "Cancel",
177      "xtype" : "Button",
178      "$ xns" : "Roo",
179      "* prop" : "buttons[]"
180     },
181     {
182      "listeners" : {
183       "click" : "function (_self, e)\n{\n    // do some checks?\n     \n    //_this.dialog.el.mask(\"Sending\");\n    _this.dialog.uploadComplete = false;\n    _this.form.doAction('submit', {\n        params: {\n            ts : Math.random()\n        }\n    });\n    _this.dialog.haveProgress = 0; // set to show..\n    _this.dialog.uploadProgress.defer(1000, _this.dialog);\n\n}"
184      },
185      "text" : "Upload",
186      "xtype" : "Button",
187      "$ xns" : "Roo",
188      "* prop" : "buttons[]"
189     }
190    ]
191   }
192  ]
193 }