Pman.Dialog.Image.bjs
[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  "items" : [
19   {
20    "listeners" : {
21     "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}"
22    },
23    "modal" : true,
24    "shadow" : true,
25    "collapsible" : false,
26    "title" : "Upload an Image or File",
27    "xtype" : "LayoutDialog",
28    "uploadComplete" : false,
29    "width" : 500,
30    "$ xns" : "Roo",
31    "closable" : false,
32    "resizable" : false,
33    "haveProgress" : false,
34    "height" : 140,
35    "$ 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",
36    "items" : [
37     {
38      "xtype" : "LayoutRegion",
39      "$ xns" : "Roo",
40      "* prop" : "center"
41     },
42     {
43      "fitToFrame" : true,
44      "region" : "center",
45      "xtype" : "ContentPanel",
46      "$ xns" : "Roo",
47      "items" : [
48       {
49        "listeners" : {
50         "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}",
51         "|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        if(_this.data._show_image_type){\n            _this.form.findField('imgtype').show();\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",
52         "|rendered" : "function (form)\n{\n    _this.form= form;\n}\n"
53        },
54        "$ url" : "baseURL + '/Roo/Images.php'",
55        "fileUpload" : true,
56        "method" : "POST",
57        "style" : "margin:10px;",
58        "xtype" : "Form",
59        "labelWidth" : 140,
60        "timeout" : 300,
61        "$ xns" : "Roo.form",
62        "items" : [
63         {
64          "xtype" : "Hidden",
65          "$ xns" : "Roo.form",
66          "name" : "UPLOAD_IDENTIFIER"
67         },
68         {
69          "xtype" : "Hidden",
70          "value" : "32M",
71          "$ xns" : "Roo.form",
72          "name" : "post_max_size"
73         },
74         {
75          "xtype" : "Hidden",
76          "value" : "32M",
77          "$ xns" : "Roo.form",
78          "name" : "upload_max_filesize"
79         },
80         {
81          "inputType" : "file",
82          "fieldLabel" : "Upload Image or File",
83          "xtype" : "TextField",
84          "width" : 200,
85          "$ xns" : "Roo.form",
86          "name" : "imageUpload"
87         },
88         {
89          "alwaysQuery" : true,
90          "listWidth" : 400,
91          "triggerAction" : "all",
92          "fieldLabel" : "Image Type",
93          "forceSelection" : true,
94          "selectOnFocus" : true,
95          "pageSize" : 20,
96          "displayField" : "display_name",
97          "emptyText" : "Select image type",
98          "hiddenName" : "imgtype",
99          "minChars" : 2,
100          "valueField" : "name",
101          "xtype" : "ComboBox",
102          "allowBlank" : true,
103          "typeAhead" : true,
104          "width" : 250,
105          "$ xns" : "Roo.form",
106          "name" : "imgtype_name",
107          "qtip" : "Select image type",
108          "queryParam" : "query[search]",
109          "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{display_name}</b> {name}</div>",
110          "loadingText" : "Searching...",
111          "items" : [
112           {
113            "listeners" : {
114             "|beforeload" : "function (_self, o){\n    o.params = o.params || {};\n    \n    o.params.etype = 'ImageType';\n    \n    o.params.active = 1;\n}\n"
115            },
116            "xtype" : "Store",
117            "remoteSort" : true,
118            "$ sortInfo" : "{ direction : 'ASC', field: 'name' }",
119            "$ xns" : "Roo.data",
120            "* prop" : "store",
121            "items" : [
122             {
123              "$ url" : "baseURL + '/Roo/Core_enum'",
124              "xtype" : "HttpProxy",
125              "method" : "GET",
126              "$ xns" : "Roo.data",
127              "* prop" : "proxy"
128             },
129             {
130              "id" : "id",
131              "root" : "data",
132              "xtype" : "JsonReader",
133              "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]",
134              "$ xns" : "Roo.data",
135              "* prop" : "reader",
136              "totalProperty" : "total"
137             }
138            ]
139           }
140          ]
141         },
142         {
143          "xtype" : "Hidden",
144          "$ xns" : "Roo.form",
145          "name" : "ontable"
146         },
147         {
148          "xtype" : "Hidden",
149          "$ xns" : "Roo.form",
150          "name" : "onid"
151         },
152         {
153          "xtype" : "Hidden",
154          "$ xns" : "Roo.form",
155          "name" : "id"
156         }
157        ]
158       }
159      ]
160     },
161     {
162      "listeners" : {
163       "click" : "function (_self, e)\n{\n    _this.dialog.hide();\n}"
164      },
165      "text" : "Cancel",
166      "xtype" : "Button",
167      "$ xns" : "Roo",
168      "* prop" : "buttons[]"
169     },
170     {
171      "listeners" : {
172       "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}"
173      },
174      "text" : "Upload",
175      "xtype" : "Button",
176      "$ xns" : "Roo",
177      "* prop" : "buttons[]"
178     }
179    ]
180   }
181  ]
182 }