95174a0271f42676a58ceb7cf605f0c28ee5d3b3
[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      "xtype" : "ContentPanel",
55      "$ xns" : "Roo",
56      "items" : [
57       {
58        "listeners" : {
59         "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}",
60         "|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, 180);\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",
61         "|rendered" : "function (form)\n{\n    _this.form= form;\n}\n"
62        },
63        "$ url" : "baseURL + '/Roo/Images.php'",
64        "fileUpload" : true,
65        "method" : "POST",
66        "style" : "margin:10px;",
67        "xtype" : "Form",
68        "labelWidth" : 140,
69        "timeout" : 300,
70        "$ xns" : "Roo.form",
71        "items" : [
72         {
73          "xtype" : "Hidden",
74          "$ xns" : "Roo.form",
75          "name" : "UPLOAD_IDENTIFIER"
76         },
77         {
78          "xtype" : "Hidden",
79          "value" : "32M",
80          "$ xns" : "Roo.form",
81          "name" : "post_max_size"
82         },
83         {
84          "xtype" : "Hidden",
85          "value" : "32M",
86          "$ xns" : "Roo.form",
87          "name" : "upload_max_filesize"
88         },
89         {
90          "inputType" : "file",
91          "fieldLabel" : "Upload Image or File",
92          "xtype" : "TextField",
93          "width" : 200,
94          "$ xns" : "Roo.form",
95          "name" : "imageUpload"
96         },
97         {
98          "listWidth" : 400,
99          "String actionMode" : "fieldEl",
100          "alwaysQuery" : true,
101          "triggerAction" : "all",
102          "fieldLabel" : "Image Type",
103          "forceSelection" : true,
104          "selectOnFocus" : true,
105          "pageSize" : 20,
106          "displayField" : "display_name",
107          "emptyText" : "Select image type",
108          "hiddenName" : "imgtype",
109          "minChars" : 2,
110          "valueField" : "name",
111          "xtype" : "ComboBox",
112          "allowBlank" : true,
113          "typeAhead" : true,
114          "width" : 250,
115          "$ xns" : "Roo.form",
116          "name" : "imgtype_name",
117          "qtip" : "Select image type",
118          "queryParam" : "query[search]",
119          "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{display_name}</b> {name}</div>",
120          "loadingText" : "Searching...",
121          "items" : [
122           {
123            "listeners" : {
124             "|beforeload" : "function (_self, o){\n    o.params = o.params || {};\n    \n    o.params.etype = 'ImageType';\n    \n    o.params.active = 1;\n}\n"
125            },
126            "xtype" : "Store",
127            "remoteSort" : true,
128            "$ sortInfo" : "{ direction : 'ASC', field: 'name' }",
129            "$ xns" : "Roo.data",
130            "* prop" : "store",
131            "items" : [
132             {
133              "$ url" : "baseURL + '/Roo/Core_enum'",
134              "xtype" : "HttpProxy",
135              "method" : "GET",
136              "$ xns" : "Roo.data",
137              "* prop" : "proxy"
138             },
139             {
140              "id" : "id",
141              "root" : "data",
142              "xtype" : "JsonReader",
143              "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]",
144              "$ xns" : "Roo.data",
145              "* prop" : "reader",
146              "totalProperty" : "total"
147             }
148            ]
149           }
150          ]
151         },
152         {
153          "xtype" : "Hidden",
154          "$ xns" : "Roo.form",
155          "name" : "ontable"
156         },
157         {
158          "xtype" : "Hidden",
159          "$ xns" : "Roo.form",
160          "name" : "onid"
161         },
162         {
163          "xtype" : "Hidden",
164          "$ xns" : "Roo.form",
165          "name" : "id"
166         }
167        ]
168       }
169      ]
170     },
171     {
172      "listeners" : {
173       "click" : "function (_self, e)\n{\n    _this.dialog.hide();\n}"
174      },
175      "text" : "Cancel",
176      "xtype" : "Button",
177      "$ xns" : "Roo",
178      "* prop" : "buttons[]"
179     },
180     {
181      "listeners" : {
182       "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}"
183      },
184      "text" : "Upload",
185      "xtype" : "Button",
186      "$ xns" : "Roo",
187      "* prop" : "buttons[]"
188     }
189    ]
190   }
191  ]
192 }