Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
alecs_myu
erp5
Commits
28ec0d54
Commit
28ec0d54
authored
Oct 09, 2015
by
Cédric Le Ninivin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
erp5_web_renderjs_ui: Update jio to v3.4.0
parent
8384fe46
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
283 additions
and
9 deletions
+283
-9
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_jio_js.xml
...nderjs_ui/PathTemplateItem/web_page_module/rjs_jio_js.xml
+283
-9
No files found.
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_jio_js.xml
View file @
28ec0d54
...
@@ -6745,7 +6745,7 @@ Query.searchTextToRegExp = searchTextToRegExp;\n
...
@@ -6745,7 +6745,7 @@ Query.searchTextToRegExp = searchTextToRegExp;\n
var ceilHeapSize = function (v) {\n
var ceilHeapSize = function (v) {\n
// The asm.js spec says:\n
// The asm.js spec says:\n
// The heap object\'s byteLength must be either\n
// The heap object\'s byteLength must be either\n
// 2^n for n in [12, 24) or 2^24 * n for n
≥
1.\n
// 2^n for n in [12, 24) or 2^24 * n for n
≥
1.\n
// Also, byteLengths smaller than 2^16 are deprecated.\n
// Also, byteLengths smaller than 2^16 are deprecated.\n
var p;\n
var p;\n
// If v is smaller than 2^16, the smallest possible solution\n
// If v is smaller than 2^16, the smallest possible solution\n
...
@@ -7966,6 +7966,274 @@ Query.searchTextToRegExp = searchTextToRegExp;\n
...
@@ -7966,6 +7966,274 @@ Query.searchTextToRegExp = searchTextToRegExp;\n
\n
\n
jIO.addStorage(\'zip\',
ZipStorage);\n
jIO.addStorage(\'zip\',
ZipStorage);\n
}(RSVP,
Blob,
LZString,
DOMException));\n
}(RSVP,
Blob,
LZString,
DOMException));\n
;/*\n
*
Copyright
2013,
Nexedi
SA\n
*
Released
under
the
LGPL
license.\n
*
http://www.gnu.org/licenses/lgpl.html\n
*/\n
/**\n
*
JIO
Dropbox
Storage.
Type =
"dropbox"
.\n
*
Dropbox
"database"
storage.\n
*/\n
/*global
Blob,
jIO,
RSVP,
UriTemplate*/\n
/*jslint
nomen:
true*/\n
\n
(function
(jIO,
RSVP,
Blob,
UriTemplate)
{\n
"use
strict";\n
var
UPLOAD_URL =
"https://content.dropboxapi.com/1/files_put/"
+\n
"{+root}{+id}{+name}{?access_token}",\n
upload_template =
UriTemplate.parse(UPLOAD_URL),\n
CREATE_DIR_URL =
"https://api.dropboxapi.com/1/fileops/create_folder"
+\n
"{?access_token,root,path}",\n
create_dir_template =
UriTemplate.parse(CREATE_DIR_URL),\n
REMOVE_URL =
"https://api.dropboxapi.com/1/fileops/delete/"
+\n
"{?access_token,root,path}",\n
remote_template =
UriTemplate.parse(REMOVE_URL),\n
GET_URL =
"https://content.dropboxapi.com/1/files"
+\n
"{/root,id}{+name}{?access_token}",\n
get_template =
UriTemplate.parse(GET_URL),\n
//
LIST_URL =
\'https://api.dropboxapi.com/1/metadata/sandbox/\';\n
METADATA_URL =
"https://api.dropboxapi.com/1/metadata"
+\n
"{/root}{+id}{?access_token}",\n
metadata_template =
UriTemplate.parse(METADATA_URL);\n
\n
function
restrictDocumentId(id)
{\n
if
(id.indexOf("/")
!==
0)
{\n
throw
new
jIO.util.jIOError("id
"
+
id
+
"
is
forbidden
(no
begin
/)",\n
400);\n
}\n
if
(id.lastIndexOf("/")
!==
(id.length
-
1))
{\n
throw
new
jIO.util.jIOError("id
"
+
id
+
"
is
forbidden
(no
end
/)",\n
400);\n
}\n
return
id;\n
}\n
\n
function
restrictAttachmentId(id)
{\n
if
(id.indexOf("/")
!==
-1)
{\n
throw
new
jIO.util.jIOError("attachment
"
+
id
+
"
is
forbidden",\n
400);\n
}\n
}\n
\n
/**\n
*
The
JIO
Dropbox
Storage
extension\n
*\n
*
@class
DropboxStorage\n
*
@constructor\n
*/\n
function
DropboxStorage(spec)
{\n
if
(typeof
spec.access_token
!==
\'string\'
||
!spec.access_token)
{\n
throw
new
TypeError("Access
Token\'
must
be
a
string
"
+\n
"which
contains
more
than
one
character.");\n
}\n
if
(typeof
spec.root
!==
\'string\'
||
!spec.root
||\n
(spec.root
!==
"dropbox"
&&
spec.root
!==
"sandbox"))
{\n
throw
new
TypeError("root
must
be
\'dropbox\'
or
\'sandbox\'");\n
}\n
this._access_token =
spec.access_token;\n
this._root =
spec.root;\n
}\n
\n
DropboxStorage.prototype.put =
function
(id,
param)
{\n
var
that =
this;\n
id =
restrictDocumentId(id);\n
if
(Object.getOwnPropertyNames(param).length
>
0) {\n
// Reject if param has some properties\n
throw new jIO.util.jIOError("Can not store properties: " +\n
Object.getOwnPropertyNames(param), 400);\n
}\n
return new RSVP.Queue()\n
.push(function () {\n
return jIO.util.ajax({\n
type: "POST",\n
url: create_dir_template.expand({\n
access_token: that._access_token,\n
root: that._root,\n
path: id\n
})\n
});\n
})\n
.push(undefined, function (err) {\n
if ((err.target !== undefined)
&&
\n
(err.target.status === 405)) {\n
// Directory already exists, no need to fail\n
return;\n
}\n
throw err;\n
});\n
};\n
\n
DropboxStorage.prototype.remove = function (id) {\n
id = restrictDocumentId(id);\n
return jIO.util.ajax({\n
type: "POST",\n
url: remote_template.expand({\n
access_token: this._access_token,\n
root: this._root,\n
path: id\n
})\n
});\n
};\n
\n
DropboxStorage.prototype.get = function (id) {\n
var that = this;\n
\n
if (id === "/") {\n
return {};\n
}\n
id = restrictDocumentId(id);\n
\n
return new RSVP.Queue()\n
.push(function () {\n
return jIO.util.ajax({\n
type: "GET",\n
url: metadata_template.expand({\n
access_token: that._access_token,\n
root: that._root,\n
id: id\n
})\n
});\n
})\n
.push(function (evt) {\n
var obj = JSON.parse(evt.target.response ||\n
evt.target.responseText);\n
if (obj.is_dir) {\n
return {};\n
}\n
throw new jIO.util.jIOError("Not a directory: " + id, 404);\n
}, function (error) {\n
if (error.target !== undefined
&&
error.target.status === 404) {\n
throw new jIO.util.jIOError("Cannot find document: " + id, 404);\n
}\n
throw error;\n
});\n
};\n
\n
DropboxStorage.prototype.allAttachments = function (id) {\n
\n
var that = this;\n
id = restrictDocumentId(id);\n
\n
return new RSVP.Queue()\n
.push(function () {\n
return jIO.util.ajax({\n
type: "GET",\n
url: metadata_template.expand({\n
access_token: that._access_token,\n
root: that._root,\n
id: id\n
})\n
});\n
})\n
.push(function (evt) {\n
var obj = JSON.parse(evt.target.response || evt.target.responseText),\n
i,\n
result = {};\n
if (!obj.is_dir) {\n
throw new jIO.util.jIOError("Not a directory: " + id, 404);\n
}\n
for (i = 0; i
< obj.contents.length
;
i
+=
1)
{\n
if
(!obj.contents[i].is_dir)
{\n
result[obj.contents[i].path.split("/").pop()]
=
{};\n
}\n
}\n
return
result;\n
},
function
(error)
{\n
if
(error.target
!==
undefined
&&
error.target.status =
==
404)
{\n
throw
new
jIO.util.jIOError("Cannot
find
document:
"
+
id,
404);\n
}\n
throw
error;\n
});\n
};\n
\n
//currently,
putAttachment
will
fail
with
files
larger
than
150MB,\n
//due
to
the
Dropbox
API.
the
API
provides
the
"chunked_upload"
method\n
//to
pass
this
limit,
but
upload
process
becomes
more
complex
to
implement.\n
//\n
//putAttachment
will
also
create
a
folder
if
you
try
to
put
an
attachment\n
//to
an
inexisting
foler.\n
\n
DropboxStorage.prototype.putAttachment =
function
(id,
name,
blob)
{\n
id =
restrictDocumentId(id);\n
restrictAttachmentId(name);\n
\n
return
jIO.util.ajax({\n
type:
"PUT",\n
url:
upload_template.expand({\n
root:
this._root,\n
id:
id,\n
name:
name,\n
access_token:
this._access_token\n
}),\n
dataType:
blob.type,\n
data:
blob\n
});\n
};\n
\n
DropboxStorage.prototype.getAttachment =
function
(id,
name)
{\n
var
that =
this;\n
\n
id =
restrictDocumentId(id);\n
restrictAttachmentId(name);\n
\n
return
new
RSVP.Queue()\n
.push(function
()
{\n
return
jIO.util.ajax({\n
type:
"GET",\n
dataType:
"blob",\n
url:
get_template.expand({\n
root:
that._root,\n
id:
id,\n
name:
name,\n
access_token:
that._access_token\n
})\n
});\n
})\n
.push(function
(evt)
{\n
return
new
Blob(\n
[evt.target.response
||
evt.target.responseText],\n
{"type":
evt.target.getResponseHeader(\'Content-Type\')
||\n
"application/octet-stream"}\n
);\n
},
function
(error)
{\n
if
(error.target
!==
undefined
&&
error.target.status =
==
404)
{\n
throw
new
jIO.util.jIOError("Cannot
find
attachment:
"
+\n
id
+
",
"
+
name,
404);\n
}\n
throw
error;\n
});\n
};\n
\n
//removeAttachment
removes
also
directories.(due
to
Dropbox
API)\n
\n
DropboxStorage.prototype.removeAttachment =
function
(id,
name)
{\n
var
that =
this;\n
id =
restrictDocumentId(id);\n
restrictAttachmentId(name);\n
\n
return
new
RSVP.Queue()\n
.push(function
()
{\n
return
jIO.util.ajax({\n
type:
"POST",\n
url:
remote_template.expand({\n
access_token:
that._access_token,\n
root:
that._root,\n
path:
id
+
name\n
})\n
});\n
}).push(undefined,
function
(error)
{\n
if
(error.target
!==
undefined
&&
error.target.status =
==
404)
{\n
throw
new
jIO.util.jIOError("Cannot
find
attachment:
"
+\n
id
+
",
"
+
name,
404);\n
}\n
throw
error;\n
});\n
};\n
\n
jIO.addStorage(\'dropbox\',
DropboxStorage);\n
\n
}(jIO,
RSVP,
Blob,
UriTemplate));\n
;/*\n
;/*\n
*
Copyright
2013,
Nexedi
SA\n
*
Copyright
2013,
Nexedi
SA\n
*
Released
under
the
LGPL
license.\n
*
Released
under
the
LGPL
license.\n
...
@@ -8595,7 +8863,8 @@ Query.searchTextToRegExp = searchTextToRegExp;\n
...
@@ -8595,7 +8863,8 @@ Query.searchTextToRegExp = searchTextToRegExp;\n
},\n
},\n
form_data_json =
{},\n
form_data_json =
{},\n
field,\n
field,\n
key;\n
key,\n
prefix_length;\n
\n
\n
form_data_json.form_id =
{\n
form_data_json.form_id =
{\n
"key":
[form.form_id.key],\n
"key":
[form.form_id.key],\n
...
@@ -8605,15 +8874,20 @@ Query.searchTextToRegExp = searchTextToRegExp;\n
...
@@ -8605,15 +8874,20 @@ Query.searchTextToRegExp = searchTextToRegExp;\n
for
(key
in
form)
{\n
for
(key
in
form)
{\n
if
(form.hasOwnProperty(key))
{\n
if
(form.hasOwnProperty(key))
{\n
field =
form[key];\n
field =
form[key];\n
if
((key.indexOf(\'my_\')
===
0)
&&\n
prefix_length =
0;\n
(field.editable)
&&\n
if
(key.indexOf(\'my_\')
===
0
&&
field.editable)
{\n
prefix_length =
3;\n
}\n
if
(key.indexOf(\'your_\')
===
0)
{\n
prefix_length =
5;\n
}\n
if
((prefix_length
!==
0)
&&\n
(allowed_field_dict.hasOwnProperty(field.type)))
{\n
(allowed_field_dict.hasOwnProperty(field.type)))
{\n
\n
form_data_json[key.substring(prefix_length)]
=
{\n
form_data_json[key.substring(3)]
=
{\n
"default":
field["default"],\n
"default":
field["default"],\n
"key":
field.key\n
"key":
field.key\n
};\n
};\n
converted_json[key.substring(
3
)]
=
field["default"];\n
converted_json[key.substring(
prefix_length
)]
=
field["default"];\n
}\n
}\n
}\n
}\n
}\n
}\n
...
@@ -10231,7 +10505,7 @@ Query.searchTextToRegExp = searchTextToRegExp;\n
...
@@ -10231,7 +10505,7 @@ Query.searchTextToRegExp = searchTextToRegExp;\n
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
94
5.58550.42410.4027
</string>
</value>
<value>
<string>
94
6.20166.17792.35464
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -10249,7 +10523,7 @@ Query.searchTextToRegExp = searchTextToRegExp;\n
...
@@ -10249,7 +10523,7 @@ Query.searchTextToRegExp = searchTextToRegExp;\n
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
144
3021965.78
</float>
<float>
144
4411451.33
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment