Commit 057e6666 authored by Vincent Bechu's avatar Vincent Bechu

erp5_officejs: get last version of bookmark manager from officejs production

parent 18449e47
...@@ -437,6 +437,12 @@ NETWORK:\n ...@@ -437,6 +437,12 @@ NETWORK:\n
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>CKEDITOR Gadget AppCache</string> </value> <value> <string>CKEDITOR Gadget AppCache</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
......
...@@ -107,6 +107,12 @@ ...@@ -107,6 +107,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>CKEditor Gadget</string> </value> <value> <string>CKEditor Gadget</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
......
...@@ -101,6 +101,12 @@ ...@@ -101,6 +101,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>CKEditor Gadget JS</string> </value> <value> <string>CKEditor Gadget JS</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
......
...@@ -186,6 +186,12 @@ NETWORK:\n ...@@ -186,6 +186,12 @@ NETWORK:\n
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>RenderJS Gadget OfficeJS AppCache</string> </value> <value> <string>RenderJS Gadget OfficeJS AppCache</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
......
...@@ -140,6 +140,12 @@ ...@@ -140,6 +140,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>OfficeJS Application Panel Gadget</string> </value> <value> <string>OfficeJS Application Panel Gadget</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
......
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
key, key,
value, value,
i, i,
queue = gadget.translateHtml(panel_template_header() + panel_template_body()); queue = gadget.translateHtml(panel_template_header() + panel_template_body({"location": window.location.origin + window.location.pathname}));
queue queue
.push(function (my_translated_or_plain_html) { .push(function (my_translated_or_plain_html) {
......
...@@ -252,7 +252,7 @@ ...@@ -252,7 +252,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>956.47493.18553.34594</string> </value> <value> <string>957.598.45791.65518</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -284,7 +284,7 @@ ...@@ -284,7 +284,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1484749934.29</float> <float>1485868259.98</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -107,14 +107,22 @@ ...@@ -107,14 +107,22 @@
</item> </item>
<item> <item>
<key> <string>text_content</string> </key> <key> <string>text_content</string> </key>
<value> <string>CACHE MANIFEST\n <value> <string encoding="cdata"><![CDATA[
CACHE MANIFEST\n
# generated on Fri, 09 Dec 2016 11:45:33 +0000\n # generated on Fri, 09 Dec 2016 11:45:33 +0000\n
# XXX + fonts\n # XXX + fonts\n
# images/ajax-loader.gif\n # images/ajax-loader.gif\n
CACHE:\n CACHE:\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css\n https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.eot?v=4.2.0\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.woff?v=4.2.0\n https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.woff?v=4.2.0\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.ttf?v=4.2.0\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular\n
jio_mappingstorage.js\n
erp5_launcher.js\n erp5_launcher.js\n
bookmark_manager_landing_page.html\n
gadget_erp5.css\n gadget_erp5.css\n
gadget_erp5_editor_panel.html\n gadget_erp5_editor_panel.html\n
gadget_erp5_editor_panel.js\n gadget_erp5_editor_panel.js\n
...@@ -126,10 +134,14 @@ gadget_officejs_bookmark_manager_panel.html\n ...@@ -126,10 +134,14 @@ gadget_officejs_bookmark_manager_panel.html\n
gadget_officejs_bookmark_manager_router.html\n gadget_officejs_bookmark_manager_router.html\n
gadget_officejs_header.html\n gadget_officejs_header.html\n
gadget_officejs_header.js\n gadget_officejs_header.js\n
gadget_officejs_page_document_list.html\n
gadget_officejs_page_document_list.js\n
gadget_officejs_jio.html\n gadget_officejs_jio.html\n
gadget_officejs_jio.js\n gadget_officejs_jio.js\n
gadget_officejs_jio_url_view.html\n gadget_officejs_jio_url_view.html\n
gadget_officejs_jio_url_view.js\n gadget_officejs_jio_url_view.js\n
gadget_officejs_page_add_document.html\n
gadget_officejs_page_add_document.js\n
gadget_officejs_page_add_bookmark.html\n gadget_officejs_page_add_bookmark.html\n
gadget_officejs_page_add_bookmark.js\n gadget_officejs_page_add_bookmark.js\n
gadget_officejs_page_bookmark_dispatcher.html\n gadget_officejs_page_bookmark_dispatcher.html\n
...@@ -142,6 +154,10 @@ gadget_officejs_page_jio_configurator.html\n ...@@ -142,6 +154,10 @@ gadget_officejs_page_jio_configurator.html\n
gadget_officejs_page_jio_configurator.js\n gadget_officejs_page_jio_configurator.js\n
gadget_officejs_page_jio_dav_configurator.html\n gadget_officejs_page_jio_dav_configurator.html\n
gadget_officejs_page_jio_dav_configurator.js\n gadget_officejs_page_jio_dav_configurator.js\n
gadget_officejs_page_jio_erp5_configurator.js\n
gadget_officejs_page_jio_erp5_configurator.html\n
gadget_officejs_page_jio_dropbox_configurator.html\n
gadget_officejs_page_jio_dropbox_configurator.js\n
gadget_officejs_page_sync.html\n gadget_officejs_page_sync.html\n
gadget_officejs_page_sync.js\n gadget_officejs_page_sync.js\n
gadget_officejs_router.js\n gadget_officejs_router.js\n
...@@ -150,6 +166,8 @@ gadget_officejs_widget_listbox.js\n ...@@ -150,6 +166,8 @@ gadget_officejs_widget_listbox.js\n
gadget_translation_data.js\n gadget_translation_data.js\n
gadget_translation.html\n gadget_translation.html\n
gadget_translation.js\n gadget_translation.js\n
gadget_officejs_liberator.html\n
gadget_officejs_liberator.js\n
handlebars.js\n handlebars.js\n
jiodev.js\n jiodev.js\n
jquery.js\n jquery.js\n
...@@ -158,12 +176,20 @@ jquerymobile.js\n ...@@ -158,12 +176,20 @@ jquerymobile.js\n
renderjs.js\n renderjs.js\n
rsvp.js\n rsvp.js\n
NETWORK:\n NETWORK:\n
*</string> </value> *
]]></string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>RenderJS Gadget OfficeJS Bookmark Manager AppCache</string> </value> <value> <string>RenderJS Gadget OfficeJS Bookmark Manager AppCache</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
...@@ -293,7 +319,7 @@ NETWORK:\n ...@@ -293,7 +319,7 @@ NETWORK:\n
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>955.55156.38503.48725</string> </value> <value> <string>957.11988.60494.51524</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -311,7 +337,7 @@ NETWORK:\n ...@@ -311,7 +337,7 @@ NETWORK:\n
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1481277406.23</float> <float>1486551690.48</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="favicon.ico">
<title>Bookmark Manager</title>
<link href="//netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="jquerymobile.css">
<link rel="stylesheet" href="gadget_erp5.css">
<script data-renderjs-configuration="application_title" type="text/x-renderjs-configuration">Bookmark Manager</script>
<script data-renderjs-configuration="panel_gadget" type="text/x-renderjs-configuration">gadget_officejs_bookmark_manager_panel.html</script>
<script data-renderjs-configuration="action_view" type="text/x-renderjs-configuration">object_view</script>
<script data-renderjs-configuration="default_view_reference" type="text/x-renderjs-configuration">view</script>
<script data-renderjs-configuration="hateoas_url" type="text/x-renderjs-configuration">hateoas/</script>
<script src="jquery.js"></script>
<script src="jquerymobile.js"></script>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_global.js" ></script>
<script src="erp5_launcher.js"></script>
</head>
<body>
<div data-role="page">
<div data-gadget-url="gadget_jio.html"
data-gadget-scope="setting_gadget"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_officejs_bookmark_manager_router.html"
data-gadget-scope="router"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_translation.html"
data-gadget-scope="translation_gadget"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_officejs_header.html"
data-gadget-scope="header"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_officejs_jio.html"
data-gadget-scope="jio_gadget"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_erp5_editor_panel.html"
data-gadget-scope="editor_panel"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_officejs_bookmark_manager_panel.html"
data-gadget-scope="panel"
data-gadget-sandbox="public"></div>
<div role="main" class="ui-content gadget-content"></div>
</div>
</body>
</html>
\ No newline at end of file
...@@ -39,8 +39,8 @@ ...@@ -39,8 +39,8 @@
<li><a href="#page=bookmark_dispatcher" data-i18n="Search">Search</a></li> <li><a href="#page=bookmark_dispatcher" data-i18n="Search">Search</a></li>
<li><a href="#page=bookmark_preference" data-i18n="Preferences">Preferences</a></li> <li><a href="#page=bookmark_preference" data-i18n="Preferences">Preferences</a></li>
<li><a href="#page=jio_configurator" data-i18n="Storage Configuration">Storage Configuration</a></li> <li><a href="#page=jio_configurator" data-i18n="Storage Configuration">Storage Configuration</a></li>
<li><a href="#page=sync" data-i18n="Synchronization">Synchronization</a></li> <li><a href="#page=sync&auto_repair=true" data-i18n="Synchronize">Synchronize</a></li>
<li class="ui-last-child"><a href="#page=logout" data-i18n="Logout">Logout</a></li> <li><a href="https://www.cribjs.com/#page=jio_crib_configurator&application_name=Bookmark Manager&communication_gadget={{location}}gadget_officejs_liberator.html" data-i18n="Edit Me">Edit Me</a></li>
</ul> </ul>
</div> </div>
</script> </script>
......
...@@ -140,6 +140,12 @@ ...@@ -140,6 +140,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>OfficeJS Application Panel Gadget</string> </value> <value> <string>OfficeJS Application Panel Gadget</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
...@@ -269,7 +275,7 @@ ...@@ -269,7 +275,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>955.26769.37270.921</string> </value> <value> <string>956.64903.6566.48281</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -287,7 +293,7 @@ ...@@ -287,7 +293,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1483018311.81</float> <float>1485866827.11</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -14,9 +14,10 @@ ...@@ -14,9 +14,10 @@
</head> </head>
<body> <body>
<script data-renderjs-configuration="portal_type" type="text/x-renderjs-configuration">Url</script> <script data-renderjs-configuration="portal_type" type="text/x-renderjs-configuration">Bookmark</script>
<script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">url_module</script> <script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">bookmark_module</script>
<script data-renderjs-configuration="document_title" type="text/x-renderjs-configuration">Bookmark</script> <script data-renderjs-configuration="document_title" type="text/x-renderjs-configuration">Bookmark</script>
<script data-renderjs-configuration="document_title_plural" type="text/x-renderjs-configuration">Bookmarks</script> <script data-renderjs-configuration="document_title_plural" type="text/x-renderjs-configuration">Bookmarks</script>
<script data-renderjs-configuration="global_setting_gadget_url" type="text/x-renderjs-configuration">../officejs_setting_gadget/</script>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -140,6 +140,12 @@ ...@@ -140,6 +140,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>OfficeJS Bookmark Manager router Gadget</string> </value> <value> <string>OfficeJS Bookmark Manager router Gadget</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
...@@ -269,7 +275,10 @@ ...@@ -269,7 +275,10 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>953.62288.29074.44236</string> </value> <value> <string>957.377.3106.25634</string> </value>
</item>
<item>
<key> <string>state</string> </key>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -287,7 +296,9 @@ ...@@ -287,7 +296,9 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1479657727.07</float> <float>1486569400.95</float>
<string>UTC</string>
</tuple>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
/*global window, rJS, RSVP, URI, location,
loopEventListener, btoa */
/*jslint nomen: true, indent: 2, maxerr: 3*/
(function (window, rJS, RSVP) {
"use strict";
function setjIODAVConfiguration(gadget) {
return gadget.getSetting("portal_type")
.push(function (portal_type) {
var old_date = new Date(),
configuration = {};
// We are looking for documents modified in the past 3 month
old_date = new Date(old_date.getFullYear(), old_date.getMonth() - 3);
configuration = {
type: "replicate",
// XXX This drop the signature lists...
query: {
query: 'portal_type:"' + portal_type + '" ',
// XX Synchonizing the whole module is too much, here is a way to start quietly
//+ 'AND local_roles: ("Owner") '
//+ 'AND validation_state: ("draft", "released_alive", "shared_alive", "published_alive") ',
limit: [0, 1234567890]
},
use_remote_post: false,
conflict_handling: 2,
check_local_modification: true,
check_local_creation: true,
check_local_deletion: true,
check_remote_modification: true,
check_remote_creation: true,
check_remote_deletion: true,
local_sub_storage: {
type: "mapping",
attachment_mapping_dict: {
'data': {
get: {uri_template: 'enclosure'},
put: {uri_template: 'enclosure'}
}
},
sub_storage: {
type: "query",
sub_storage: {
type: "uuid",
sub_storage: {
type: "indexeddb",
database: "officejs-dav"
}
}
}
},
remote_sub_storage: {
type: "mapping",
attachment_mapping_dict: {
'data': {
get: {uri_template: 'enclosure'},
put: {uri_template: 'enclosure'}
}
},
sub_storage: {
type: "query",
sub_storage: {
type: "drivetojiomapping",
sub_storage: {
type: "mapping",
mapping_dict: {
"portal_type": {
"equal": "type",
"value": {
"switch": {
"PDF": {
"equal": "pdf"
},
"Web Text": {
"equal": "txt"
}
}
}
}
},
sub_storage: {
type: "dav",
url: gadget.props.element.querySelector("input[name='dav_url']").value,
basic_login: btoa(gadget.props.element.querySelector("input[name='dav_username']").value
+ ':' + gadget.props.element.querySelector("input[name='dav_password']").value),
with_credentials: true
}
}
}
}
}
};
return gadget.setSetting('jio_storage_description', configuration);
})
.push(function () {
return gadget.setSetting('jio_storage_name', "DAV");
})
.push(function () {
return gadget.reload();
});
}
var gadget_klass = rJS(window);
gadget_klass
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
g.props.deferred = RSVP.defer();
return g.getSetting('jio_storage_name');
})
.push(function (jio_storage_name) {
if (jio_storage_name === "DAV") {
return g.getSetting('jio_storage_description')
.push(function (jio_storage_description) {
g.props.element.querySelector("input[name='dav_url']").value =
jio_storage_description.remote_sub_storage.sub_storage.sub_storage.url;
});
}
});
})
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("reload", "reload")
.declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("setSetting", "setSetting")
.declareMethod("render", function () {
var gadget = this;
return gadget.updateHeader({
title: "Connect To DAV Storage",
back_url: "#page=jio_configurator",
panel_action: false
}).push(function () {
return gadget.props.deferred.resolve();
});
})
/////////////////////////////////////////
// Form submit
/////////////////////////////////////////
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return gadget.props.deferred.promise;
})
.push(function () {
return loopEventListener(
gadget.props.element.querySelector('form'),
'submit',
true,
function () {
return setjIODAVConfiguration(gadget);
}
);
});
});
}(window, rJS, RSVP));
\ No newline at end of file
...@@ -105,6 +105,12 @@ ...@@ -105,6 +105,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Gadget OfficeJS Header</string> </value> <value> <string>Gadget OfficeJS Header</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
......
...@@ -101,6 +101,12 @@ ...@@ -101,6 +101,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Gadget OfficeJS Header JS</string> </value> <value> <string>Gadget OfficeJS Header JS</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
......
...@@ -12,14 +12,12 @@ ...@@ -12,14 +12,12 @@
<script class="view-web-page-template" type="text/x-handlebars-template"> <script class="view-web-page-template" type="text/x-handlebars-template">
<a href="{{url_string}}" style="display: block; text-align: center; font-size: 1.7em;">{{url_string}}</a> <a href="{{url_string}}" style="display: block; text-align: center; font-size: 1.7em;">{{url_string}}</a>
<form class="view-web-page-form"> <form class="view-web-page-form">
<div class="center"> <div class="center">
<div class="ui-field-contain"> <div class="ui-field-contain">
<label data-i18n="Title:">Title:</label> <label data-i18n="Title:">Title:</label>
<input type="text" name="title" value="{{title}}"> <input type="text" name="title" value="{{title}}">
</div> </div>
<div class="ui-field-contain"> <div class="ui-field-contain">
<label data-i18n="Url:">Url:</label> <label data-i18n="Url:">Url:</label>
<input type="text" name="url_string" value="{{url_string}}"> <input type="text" name="url_string" value="{{url_string}}">
...@@ -38,7 +36,7 @@ ...@@ -38,7 +36,7 @@
</script> </script>
<script src="gadget_officejs_jio_url_view.js"></script> <script src="gadget_officejs_jio_bookmark_view.js"></script>
</head> </head>
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
</item> </item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>gadget_officejs_jio_url_view.html</string> </value> <value> <string>gadget_officejs_jio_bookmark_view.html</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>gadget_officejs_jio_url_view_html</string> </value> <value> <string>gadget_officejs_jio_bookmark_view_html</string> </value>
</item> </item>
<item> <item>
<key> <string>language</string> </key> <key> <string>language</string> </key>
...@@ -97,22 +97,20 @@ ...@@ -97,22 +97,20 @@
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Web Page</string> </value> <value> <string>Web Page</string> </value>
</item> </item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>OfficeJS Jio Bookmark View</string> </value> <value> <string>OfficeJS Jio Bookmark View</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -193,7 +191,7 @@ ...@@ -193,7 +191,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1468958515.0</float> <float>1485781391.48</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -238,7 +236,7 @@ ...@@ -238,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>955.49823.4948.58316</string> </value> <value> <string>958.24259.25538.21094</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -256,7 +254,7 @@ ...@@ -256,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1480959906.78</float> <float>1493732989.43</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -279,7 +277,9 @@ ...@@ -279,7 +277,9 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>action</string> </key> <key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
...@@ -295,7 +295,7 @@ ...@@ -295,7 +295,7 @@
</item> </item>
<item> <item>
<key> <string>external_processing_state</string> </key> <key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value> <value> <string>empty</string> </value>
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
...@@ -313,7 +313,7 @@ ...@@ -313,7 +313,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1468958471.49</float> <float>1485779339.13</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
/*globals window, rJS, Handlebars, RSVP, loopEventListener, console*/ /*globals window, rJS, Handlebars, RSVP, loopEventListener, console*/
/*jslint indent: 2, nomen: true, maxlen: 80*/ /*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS, Handlebars, loopEventListener) { (function (window, RSVP, rJS, Handlebars, loopEventListener) {
"use strict"; "use strict";
function saveContent(gadget, submit_event) { function saveContent(gadget, submit_event) {
var i, var i,
doc = gadget.options.doc, doc = gadget.options.doc,
now = new Date(); now = new Date();
return new RSVP.Queue() doc.parent_relative_url = "bookmark_module";
.push(function () { doc.portal_type = "Bookmark";
return RSVP.all([ doc.modification_date = now.toISOString();
gadget.getSetting("portal_type"), for (i = 0; i < submit_event.target.length; i += 1) {
gadget.getSetting("parent_relative_url") // XXX Should check input type instead
]); if (submit_event.target[i].name) {
}) doc[submit_event.target[i].name] = submit_event.target[i].value;
.push(function (answer_list) { }
doc.portal_type = answer_list[0]; }
doc.parent_relative_url = answer_list[1]; return new RSVP.Queue()
doc.modification_date = now.toISOString(); .push(function () {
return gadget.put(gadget.options.jio_key, doc);
for (i = 0; i < submit_event.target.length; i += 1) { });
// XXX Should check input type instead }
if (submit_event.target[i].name) {
doc[submit_event.target[i].name] = submit_event.target[i].value; function maximize(gadget) {
} var iframe = gadget.props.element.querySelector('iframe'),
} iframe_class_string = iframe.getAttribute('class') || "",
class_name = "ui-content-maximize",
return gadget.put(gadget.options.jio_key, doc); class_index = iframe_class_string.indexOf(class_name);
}); if (class_index === -1) {
} iframe_class_string += ' ' + class_name;
iframe.setAttribute('style', '');
var gadget_klass = rJS(window), iframe.setAttribute('class', iframe_class_string);
source = gadget_klass.__template_element return;
.querySelector(".view-web-page-template") }
.innerHTML, iframe_class_string = iframe_class_string.substring(0, class_index)
template = Handlebars.compile(source); + iframe_class_string.substring(class_index + class_name.length);
iframe.setAttribute('style', 'width:100%; border: 0 none; height: 600px');
iframe.setAttribute('class', iframe_class_string);
gadget_klass return;
.ready(function (g) { }
g.props = {};
g.options = null; var gadget_klass = rJS(window),
return g.getElement() source = gadget_klass.__template_element
.push(function (element) { .querySelector(".view-web-page-template")
g.props.element = element; .innerHTML,
g.props.deferred = RSVP.defer(); template = Handlebars.compile(source);
});
})
gadget_klass
.declareAcquiredMethod("updateHeader", "updateHeader") .ready(function (g) {
.declareAcquiredMethod('getSetting', 'getSetting') g.props = {};
.declareAcquiredMethod("get", "jio_get") g.options = null;
.declareAcquiredMethod("translateHtml", "translateHtml") return g.getElement()
.declareAcquiredMethod("put", "jio_put") .push(function (element) {
.declareAcquiredMethod('allDocs', 'jio_allDocs') g.props.element = element;
.declareAcquiredMethod("redirect", "redirect") g.props.deferred = RSVP.defer();
});
.allowPublicAcquisition('triggerSubmit', function () { })
return this.props.element.querySelector('button').click();
}) .declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("get", "jio_get")
.declareMethod('triggerSubmit', function () { .declareAcquiredMethod("translateHtml", "translateHtml")
return this.props.element.querySelector('button').click(); .declareAcquiredMethod("put", "jio_put")
}) .declareAcquiredMethod('allDocs', 'jio_allDocs')
.declareAcquiredMethod("redirect", "redirect")
.declareMethod("render", function (options) {
var gadget = this; .allowPublicAcquisition('triggerMaximize', function () {
gadget.options = options; var gadget = this;
gadget.options.doc.title = gadget.options.doc.title || ""; return RSVP.Queue()
return new RSVP.Queue() .push(function () {
.push(function () { return maximize(gadget);
return gadget.translateHtml(template(options.doc)); })
}) .fail(function (e) {
.push(function (html) { console.log(e);
gadget.props.element.innerHTML = html; });
return gadget.updateHeader({ })
title: options.doc.title + " | Bookmark",
save_action: true .allowPublicAcquisition('triggerSubmit', function () {
}); return this.props.element.querySelector('button').click();
}) })
.push(function () {
return gadget.props.deferred.resolve(); .declareMethod('triggerSubmit', function () {
}); return this.props.element.querySelector('button').click();
}) })
///////////////////////////////////////// .declareMethod("render", function (options) {
// Render text content gadget var gadget = this;
///////////////////////////////////////// gadget.options = options;
.declareService(function () { gadget.options.doc.title = gadget.options.doc.title || "";
var gadget = this, return new RSVP.Queue()
text_gadget = null; .push(function () {
return gadget.translateHtml(template(options.doc));
return new RSVP.Queue() })
.push(function () { .push(function (html) {
return gadget.props.deferred.promise; gadget.props.element.innerHTML = html;
}); return gadget.updateHeader({
}) title: options.doc.title + " | Bookmark",
save_action: true
///////////////////////////////////////// });
// Form submit })
///////////////////////////////////////// .push(function () {
.declareService(function () { return gadget.props.deferred.resolve();
var gadget = this; });
})
return new RSVP.Queue()
.push(function () { /////////////////////////////////////////
return gadget.props.deferred.promise; // Render text content gadget
}) /////////////////////////////////////////
.push(function () { .declareService(function () {
return loopEventListener( var gadget = this,
gadget.props.element.querySelector('form'), text_gadget = null;
'submit',
true, return new RSVP.Queue()
function (event) { .push(function () {
return saveContent(gadget, event) return gadget.props.deferred.promise;
.push(function () { });
return gadget.redirect({page: "bookmark_list"}); })
});
} /////////////////////////////////////////
); // Form submit
}); /////////////////////////////////////////
}); .declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return gadget.props.deferred.promise;
})
.push(function () {
return loopEventListener(
gadget.props.element.querySelector('form'),
'submit',
true,
function (event) {
return saveContent(gadget, event);
}
);
});
});
}(window, RSVP, rJS, Handlebars, loopEventListener)); }(window, RSVP, rJS, Handlebars, loopEventListener));
\ No newline at end of file
...@@ -69,9 +69,13 @@ ...@@ -69,9 +69,13 @@
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/javascript</string> </value>
</item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>gadget_officejs_jio_url_view.js</string> </value> <value> <string>gadget_officejs_jio_bookmark_view.js</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
...@@ -81,7 +85,7 @@ ...@@ -81,7 +85,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>gadget_officejs_jio_url_view_js</string> </value> <value> <string>gadget_officejs_jio_bookmark_view_js</string> </value>
</item> </item>
<item> <item>
<key> <string>language</string> </key> <key> <string>language</string> </key>
...@@ -93,22 +97,20 @@ ...@@ -93,22 +97,20 @@
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Web Script</string> </value> <value> <string>Web Script</string> </value>
</item> </item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>OfficeJS Jio Bookmark view JS</string> </value> <value> <string>OfficeJS Jio Bookmark view JS</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -189,7 +191,7 @@ ...@@ -189,7 +191,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1468958553.47</float> <float>1485781322.76</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -234,7 +236,7 @@ ...@@ -234,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>955.49845.11611.51046</string> </value> <value> <string>956.64652.63438.53777</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -252,7 +254,7 @@ ...@@ -252,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1480959915.54</float> <float>1485781314.69</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -275,7 +277,9 @@ ...@@ -275,7 +277,9 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>action</string> </key> <key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
...@@ -291,7 +295,7 @@ ...@@ -291,7 +295,7 @@
</item> </item>
<item> <item>
<key> <string>external_processing_state</string> </key> <key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value> <value> <string>empty</string> </value>
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
...@@ -309,7 +313,7 @@ ...@@ -309,7 +313,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1468958530.09</float> <float>1485779337.2</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -103,6 +103,12 @@ ...@@ -103,6 +103,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Jio Gadget for OfficeJS</string> </value> <value> <string>Jio Gadget for OfficeJS</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
......
...@@ -101,6 +101,12 @@ ...@@ -101,6 +101,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Jio Gadget JS</string> </value> <value> <string>Jio Gadget JS</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
......
...@@ -143,11 +143,15 @@ ...@@ -143,11 +143,15 @@
<value> <string>OfficeJS Jio Web Illustration View</string> </value> <value> <string>OfficeJS Jio Web Illustration View</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -259,7 +263,7 @@ ...@@ -259,7 +263,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -273,7 +277,7 @@ ...@@ -273,7 +277,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>951.29240.27236.54562</string> </value> <value> <string>956.64450.52709.9386</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -291,7 +295,7 @@ ...@@ -291,7 +295,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1464253011.4</float> <float>1485781082.56</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -139,11 +139,15 @@ ...@@ -139,11 +139,15 @@
<value> <string>OfficeJS Jio Web Illustration View JS</string> </value> <value> <string>OfficeJS Jio Web Illustration View JS</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -269,7 +273,7 @@ ...@@ -269,7 +273,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>954.15924.25382.7799</string> </value> <value> <string>956.64450.52709.9386</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -287,7 +291,7 @@ ...@@ -287,7 +291,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1475164165.45</float> <float>1485781045.04</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -108,11 +108,15 @@ ...@@ -108,11 +108,15 @@
<value> <string>OfficeJS Jio Web Page View</string> </value> <value> <string>OfficeJS Jio Web Page View</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -232,7 +236,7 @@ ...@@ -232,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>954.38520.8745.1109</string> </value> <value> <string>956.64450.52709.9386</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -250,7 +254,7 @@ ...@@ -250,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1476433509.51</float> <float>1485781000.66</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -104,11 +104,15 @@ ...@@ -104,11 +104,15 @@
<value> <string>OfficeJS Jio Web Page View JS</string> </value> <value> <string>OfficeJS Jio Web Page View JS</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -228,7 +232,7 @@ ...@@ -228,7 +232,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>954.15935.39380.57002</string> </value> <value> <string>956.64450.52709.9386</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -246,7 +250,7 @@ ...@@ -246,7 +250,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1475164868.59</float> <float>1485780967.55</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title>Jio Gadget</title>
<!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script>
<script src="jiodev.js" type="text/javascript"></script>
<!-- custom script -->
<script src="gadget_officejs_liberator.js" type="text/javascript"></script>
</head>
<body>
</body>
</html>
\ No newline at end of file
/*global window, rJS, jIO, FormData, RSVP, MessageChannel */
/*jslint indent: 2, maxerr: 3 */
(function (window, rJS, jIO, MessageChannel, RSVP) {
"use strict";
rJS(window)
.ready(function (gadget) {
gadget.state_parameter_dict = {};
})
.declareMethod('createStorage', function (erp5_url) {
this.state_parameter_dict.jio_storage = jIO.createJIO({
use_remote_post: false,
conflict_handling: 1,
check_local_modification: true,
check_local_creation: true,
check_local_deletion: false,
check_remote_modification: false,
check_remote_creation: false,
check_remote_deletion: false,
type: "replicate",
query: {query: 'content_type: "text%"'},
signature_storage: {
type: "indexeddb",
database: "sync_hash"
},
local_sub_storage: {
type: "uuid",
sub_storage: {
type: "query",
sub_storage: {
type: "indexeddb",
database: window.location.origin +
window.location.pathname.replace(
"gadget_officejs_liberator.html",
""
)
}
}
},
remote_sub_storage: {
type: "mapping",
id: ["equalSubProperty", "url_string"],
property: {
"relative_url": ["ignore"],
"version": ["ignore"]
},
sub_storage: {
type: "erp5",
url: erp5_url + "/hateoas",
default_view_reference: "jio_view"
}
}
});
})
.declareMethod('allDocs', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.allDocs.apply(storage, arguments);
})
.declareMethod('allAttachments', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.allAttachments.apply(storage, arguments);
})
.declareMethod('get', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.get.apply(storage, arguments);
})
.declareMethod('put', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.put.apply(storage, arguments);
})
.declareMethod('post', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.post.apply(storage, arguments);
})
.declareMethod('remove', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.remove.apply(storage, arguments);
})
.declareMethod('getAttachment', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.getAttachment.apply(storage, arguments);
})
.declareMethod('putAttachment', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.putAttachment.apply(storage, arguments);
})
.declareMethod('removeAttachment', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.removeAttachment.apply(storage, arguments);
})
.declareMethod('repair', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.repair.apply(storage, arguments);
});
}(window, rJS, jIO, MessageChannel, RSVP));
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
<!doctype html> <!doctype html>
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS Add Bookmark</title> <title>OfficeJS Add Bookmark</title>
<script src="rsvp.js"></script> <script src="rsvp.js"></script>
<script src="renderjs.js"></script> <script src="renderjs.js"></script>
<script src="handlebars.js"></script> <script src="handlebars.js"></script>
<script src="gadget_officejs_page_add_bookmark.js"></script> <script src="gadget_officejs_page_add_bookmark.js"></script>
</head> </head>
<body> <body>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -63,14 +63,6 @@ ...@@ -63,14 +63,6 @@
</tuple> </tuple>
</value> </value>
</item> </item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>contributor/person_module/1</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <value>
...@@ -81,14 +73,6 @@ ...@@ -81,14 +73,6 @@
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
<value> <string>text/html</string> </value> <value> <string>text/html</string> </value>
</item> </item>
<item>
<key> <string>creators</string> </key>
<value>
<tuple>
<string>cedric.le.ninivin</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>gadget_officejs_page_add_bookmark.html</string> </value> <value> <string>gadget_officejs_page_add_bookmark.html</string> </value>
...@@ -109,45 +93,24 @@ ...@@ -109,45 +93,24 @@
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>modification_date</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1455284351.46</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item> <item>
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Web Page</string> </value> <value> <string>Web Page</string> </value>
</item> </item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>OfficeJS Add Bookmark</string> </value> <value> <string>OfficeJS Add Bookmark</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -228,7 +191,7 @@ ...@@ -228,7 +191,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1471549670.93</float> <float>1485780873.2</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -273,7 +236,7 @@ ...@@ -273,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>953.21235.57104.50295</string> </value> <value> <string>956.64678.36333.6946</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -291,7 +254,7 @@ ...@@ -291,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1474013662.65</float> <float>1485780894.37</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -314,7 +277,9 @@ ...@@ -314,7 +277,9 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>action</string> </key> <key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
...@@ -330,7 +295,7 @@ ...@@ -330,7 +295,7 @@
</item> </item>
<item> <item>
<key> <string>external_processing_state</string> </key> <key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value> <value> <string>empty</string> </value>
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
...@@ -348,7 +313,7 @@ ...@@ -348,7 +313,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1471549602.17</float> <float>1485779320.09</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
/*globals window, RSVP, rJS*/ /*globals window, RSVP, rJS*/
/*jslint indent: 2, nomen: true, maxlen: 80*/ /*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS) { (function (window, RSVP, rJS) {
"use strict"; "use strict";
var gadget_klass = rJS(window); var gadget_klass = rJS(window);
gadget_klass gadget_klass
.ready(function (g) { .ready(function (g) {
g.props = {}; g.props = {};
return g.getElement() return g.getElement()
.push(function (element) { .push(function (element) {
g.props.element = element; g.props.element = element;
g.props.deferred = RSVP.defer(); g.props.deferred = RSVP.defer();
}); });
}) })
.declareAcquiredMethod("post", "jio_post") .declareAcquiredMethod("post", "jio_post")
.declareAcquiredMethod("redirect", "redirect") .declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("updateHeader", "updateHeader") .declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod('getSetting', 'getSetting') .declareAcquiredMethod('getSetting', 'getSetting')
.declareMethod("render", function (options) { .declareMethod("render", function (options) {
var gadget = this; var gadget = this;
gadget.props.options = options; gadget.props.options = options;
return new RSVP.Queue() return new RSVP.Queue()
.push(function () { .push(function () {
return RSVP.all([ return RSVP.all([
gadget.getSetting("portal_type"), gadget.getSetting("portal_type"),
gadget.getSetting("document_title"), gadget.getSetting("document_title"),
gadget.getSetting("parent_relative_url") gadget.getSetting("parent_relative_url")
]); ]);
}).push(function (answer_list) { }).push(function (answer_list) {
gadget.props.portal_type = answer_list[0]; gadget.props.portal_type = answer_list[0];
gadget.props.document_title = answer_list[1]; gadget.props.document_title = answer_list[1];
gadget.props.parent_relative_url = answer_list[2]; gadget.props.parent_relative_url = answer_list[2];
return gadget.updateHeader({ return gadget.updateHeader({
title: "New " + gadget.props.document_title title: "New " + gadget.props.document_title
}); });
}) })
.push(function () { .push(function () {
gadget.props.deferred.resolve(); gadget.props.deferred.resolve();
}); });
}) })
.declareService(function () { .declareService(function () {
var gadget = this; var gadget = this;
return new RSVP.Queue() return new RSVP.Queue()
.push(function () { .push(function () {
return gadget.props.deferred.promise; return gadget.props.deferred.promise;
}) })
.push(function () { .push(function () {
var doc = { var doc = {
// XXX Hardcoded // XXX Hardcoded
parent_relative_url: gadget.props.parent_relative_url, parent_relative_url: gadget.props.parent_relative_url,
portal_type: gadget.props.portal_type portal_type: gadget.props.portal_type
}; };
return gadget.post(doc); return gadget.post(doc);
}) })
.push(function (data) { .push(function (data) {
return gadget.redirect({ return gadget.redirect({
jio_key: data, jio_key: data,
page: "view" page: "view"
}); });
}); });
}); });
}(window, RSVP, rJS)); }(window, RSVP, rJS));
\ No newline at end of file
...@@ -63,14 +63,6 @@ ...@@ -63,14 +63,6 @@
</tuple> </tuple>
</value> </value>
</item> </item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>contributor/person_module/1</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <value>
...@@ -78,12 +70,8 @@ ...@@ -78,12 +70,8 @@
</value> </value>
</item> </item>
<item> <item>
<key> <string>creators</string> </key> <key> <string>content_type</string> </key>
<value> <value> <string>text/javascript</string> </value>
<tuple>
<string>cedric.le.ninivin</string>
</tuple>
</value>
</item> </item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
...@@ -105,45 +93,24 @@ ...@@ -105,45 +93,24 @@
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>modification_date</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1455284351.49</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item> <item>
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Web Script</string> </value> <value> <string>Web Script</string> </value>
</item> </item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>OfficeJS Add Bookmark JS</string> </value> <value> <string>OfficeJS Add Bookmark JS</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -224,7 +191,7 @@ ...@@ -224,7 +191,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1471549673.52</float> <float>1485780820.98</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -269,7 +236,7 @@ ...@@ -269,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>953.21219.58513.54579</string> </value> <value> <string>956.64652.42771.37444</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -287,7 +254,7 @@ ...@@ -287,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1474013855.64</float> <float>1485780817.22</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -310,7 +277,9 @@ ...@@ -310,7 +277,9 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>action</string> </key> <key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
...@@ -326,7 +295,7 @@ ...@@ -326,7 +295,7 @@
</item> </item>
<item> <item>
<key> <string>external_processing_state</string> </key> <key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value> <value> <string>empty</string> </value>
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
...@@ -344,7 +313,7 @@ ...@@ -344,7 +313,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1471549600.18</float> <float>1485779318.49</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -144,9 +144,7 @@ ...@@ -144,9 +144,7 @@
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <value> <string>001</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -259,7 +257,7 @@ ...@@ -259,7 +257,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -273,7 +271,7 @@ ...@@ -273,7 +271,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>951.28177.1205.52650</string> </value> <value> <string>956.64450.52709.9386</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -291,7 +289,7 @@ ...@@ -291,7 +289,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1464189188.67</float> <float>1485956755.12</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -140,9 +140,7 @@ ...@@ -140,9 +140,7 @@
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <value> <string>001</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -255,7 +253,7 @@ ...@@ -255,7 +253,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -269,7 +267,7 @@ ...@@ -269,7 +267,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>951.28187.42881.35293</string> </value> <value> <string>956.64450.52709.9386</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -287,7 +285,7 @@ ...@@ -287,7 +285,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1464189839.22</float> <float>1485956748.55</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -26,4 +26,4 @@ ...@@ -26,4 +26,4 @@
</form> </form>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -143,11 +143,15 @@ ...@@ -143,11 +143,15 @@
<value> <string>OfficeJS Bookmark Dispatcher</string> </value> <value> <string>OfficeJS Bookmark Dispatcher</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -273,7 +277,7 @@ ...@@ -273,7 +277,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>955.22589.46402.6092</string> </value> <value> <string>956.64677.1467.64529</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -291,7 +295,7 @@ ...@@ -291,7 +295,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1479469812.2</float> <float>1485780792.24</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
/*globals window, RSVP, rJS*/ /*globals window, RSVP, rJS*/
/*jslint indent: 2, nomen: true, maxlen: 80*/ /*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS) { (function (window, RSVP, rJS) {
"use strict"; "use strict";
function getSearchedString() { function getSearchedString() {
var regex = new RegExp("[\\#?&]search=([^&]*)"), var regex = new RegExp("[\\#?&]search=([^&]*)"),
results = regex.exec(window.location.hash); results = regex.exec(window.location.hash);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
} }
function updateSearchUrl(event) { function updateSearchUrl(event) {
var gadget = this; var gadget = this;
makeOptionDict(gadget) makeOptionDict(gadget)
.push(function() { .push(function() {
return gadget.getSetting("option"); return gadget.getSetting("option");
}) })
.push(function(option) { .push(function(option) {
return gadget.getUrlFor(option); return gadget.getUrlFor(option);
}) })
.push(function(url) { .push(function(url) {
url = window.location.href + url; url = window.location.href + url;
gadget.props.element.getElementsByClassName("search-engine-url")[0].innerHTML = url; gadget.props.element.getElementsByClassName("search-engine-url")[0].innerHTML = url;
}); });
} }
rJS(window) rJS(window)
.ready(function (g) { .ready(function (g) {
g.props = {}; g.props = {};
return g.getElement() return g.getElement()
.push(function (element) { .push(function (element) {
g.props.element = element; g.props.element = element;
}); });
}) })
.declareAcquiredMethod("translate", "translate") .declareAcquiredMethod("translate", "translate")
.declareAcquiredMethod("getUrlFor", "getUrlFor") .declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("redirect", "redirect") .declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("updateHeader", "updateHeader") .declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod('getSetting', 'getSetting') .declareAcquiredMethod('getSetting', 'getSetting')
.declareAcquiredMethod("jio_allDocs", "jio_allDocs") .declareAcquiredMethod("jio_allDocs", "jio_allDocs")
.declareAcquiredMethod("getSetting", "getSetting") .declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("setSetting", "setSetting") .declareAcquiredMethod("setSetting", "setSetting")
.declareMethod("render", function (options) { .declareMethod("render", function (options) {
var gadget = this, var gadget = this,
portal_type = null, portal_type = null,
gadget_option_dict = options, option = {
option = { auto_redirect: false,
auto_redirect: false, search_engine: ""
search_engine: "" };
};
return new RSVP.Queue()
return new RSVP.Queue() .push(gadget.updateHeader({title: 'Search in Bookmarks'}))
.push(gadget.updateHeader({title: 'Search in Bookmarks'})) .push(function () {
.push(function () { return gadget.getSetting("portal_type")
return gadget.getSetting("portal_type") .push(function(result) {
.push(function(result) { portal_type = result;
portal_type = result; });
}); })
}) .push(function (){
.push(function (){ return gadget.getSetting("option")
return gadget.getSetting("option") .push(function(result) {
.push(function(result) { if (result) {
if (result) { option = result;
option = result; }
} });
}); })
}) .push(function () {
.push(function () { var search = window.decodeURIComponent(getSearchedString()),
var search = gadget_option_dict.search, query = "";
query = ""; if (search) {
if (search) { query = {
query = { query: '(title:"%' + search + '%" OR url_string:"%' + search + '%" OR description:"%' + search + '%") AND portal_type:"' + portal_type + '"',
query: '(title:"%' + search + '%" OR url_string:"%' + search + '%" OR description:"%' + search + '%") AND portal_type:"' + portal_type + '"', select_list: ['title', 'url_string', 'description'],
select_list: ['title', 'url_string', 'description'], };
}; return gadget.jio_allDocs(query)
return gadget.jio_allDocs(query) .push(function (query_result) {
.push(function (query_result) { var result_list_length = query_result.data.rows.length;
var result_list_length = query_result.data.rows.length;
// if 0 result, let's search with a real search engine
// if 0 result, let's search with a real search engine if (result_list_length === 0 && option.search_engine !== '') {
if (result_list_length === 0 && option.search_engine !== '') { window.location.href = option.search_engine + window.encodeURIComponent(search);
window.location.href = option.search_engine + window.encodeURIComponent(search); }
} // if 1 result, we go there
// if 1 result, we go there else if (result_list_length === 1 && option.auto_redirect === true) {
else if (result_list_length === 1 && option.auto_redirect === true) { window.location.href = query_result.data.rows[0].value.url_string;
window.location.href = query_result.data.rows[0].value.url_string; }
} else {
else { return gadget.getUrlFor({page: "bookmark_list", search: window.encodeURIComponent(search)})
return gadget.getUrlFor({page: "bookmark_list", search: window.encodeURIComponent(search)}) .push(function (url) {
.push(function (url) { window.location.href = url;
window.location.href = url; });
}); }
} });
}); }
} });
}); })
}) .onEvent("submit", function () {
.onEvent("submit", function () { var gadget = this;
var gadget = this; //var option_parameter = gadget.getSetting("option");
//var option_parameter = gadget.getSetting("option"); var option_parameter = {
var option_parameter = { search: window.encodeURIComponent(gadget.props.element.getElementsByTagName('input')[0].value),
search: window.encodeURIComponent(gadget.props.element.getElementsByTagName('input')[0].value), page: 'bookmark_dispatcher'
page: 'bookmark_dispatcher' };
}; return gadget.getUrlFor(option_parameter)
return gadget.getUrlFor(option_parameter) .push(function (url) {
.push(function (url) { window.location.href = url;
window.location.href = url; });
}); });
});
}(window, RSVP, rJS)); }(window, RSVP, rJS));
\ No newline at end of file
...@@ -63,14 +63,6 @@ ...@@ -63,14 +63,6 @@
</tuple> </tuple>
</value> </value>
</item> </item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>contributor/person_module/1</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <value>
...@@ -78,12 +70,8 @@ ...@@ -78,12 +70,8 @@
</value> </value>
</item> </item>
<item> <item>
<key> <string>creators</string> </key> <key> <string>content_type</string> </key>
<value> <value> <string>text/javascript</string> </value>
<tuple>
<string>cedric.le.ninivin</string>
</tuple>
</value>
</item> </item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
...@@ -105,45 +93,24 @@ ...@@ -105,45 +93,24 @@
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>modification_date</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1455284352.18</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item> <item>
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Web Script</string> </value> <value> <string>Web Script</string> </value>
</item> </item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>OfficeJS Bookmark Dispatcher JS</string> </value> <value> <string>OfficeJS Bookmark Dispatcher JS</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -224,7 +191,7 @@ ...@@ -224,7 +191,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1478605449.85</float> <float>1485780752.49</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -269,7 +236,7 @@ ...@@ -269,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>955.49852.11197.39970</string> </value> <value> <string>956.64652.37486.36010</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -287,7 +254,7 @@ ...@@ -287,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1480959188.76</float> <float>1485780744.68</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -310,7 +277,9 @@ ...@@ -310,7 +277,9 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>action</string> </key> <key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
...@@ -326,7 +295,7 @@ ...@@ -326,7 +295,7 @@
</item> </item>
<item> <item>
<key> <string>external_processing_state</string> </key> <key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value> <value> <string>empty</string> </value>
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
...@@ -344,7 +313,7 @@ ...@@ -344,7 +313,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1478605233.57</float> <float>1485779312.96</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -143,11 +143,15 @@ ...@@ -143,11 +143,15 @@
<value> <string>OfficeJS Bookmark List</string> </value> <value> <string>OfficeJS Bookmark List</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -273,7 +277,7 @@ ...@@ -273,7 +277,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>955.8037.23694.47974</string> </value> <value> <string>956.64450.52709.9386</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -291,7 +295,7 @@ ...@@ -291,7 +295,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1478536688.15</float> <float>1485780721.46</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
/*globals window, RSVP, rJS*/ /*globals window, RSVP, rJS*/
/*jslint indent: 2, nomen: true, maxlen: 80*/ /*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS) { (function (window, RSVP, rJS) {
"use strict"; "use strict";
rJS(window) rJS(window)
.ready(function (g) { .ready(function (g) {
g.props = {}; g.props = {};
return g.getElement() return g.getElement()
.push(function (element) { .push(function (element) {
g.props.element = element; g.props.element = element;
}); });
}) })
.ready(function (g) { .ready(function (g) {
return new RSVP.Queue() return new RSVP.Queue()
.push(function () { .push(function () {
return RSVP.all([ return RSVP.all([
g.translate("validated"), g.translate("validated"),
g.translate("invalidated"), g.translate("invalidated"),
g.translate("Not synced!"), g.translate("Not synced!"),
g.translate("Waiting for approval") g.translate("Waiting for approval")
]); ]);
}) })
.push(function (result_list) { .push(function (result_list) {
g.props.translation_dict = { g.props.translation_dict = {
"validated": result_list[0], "validated": result_list[0],
"invalidated": result_list[1], "invalidated": result_list[1],
"Not synced!": result_list[2], "Not synced!": result_list[2],
"Waiting for approval": result_list[3] "Waiting for approval": result_list[3]
}; };
}); });
}) })
.declareAcquiredMethod("translate", "translate") .declareAcquiredMethod("translate", "translate")
.declareAcquiredMethod("getUrlFor", "getUrlFor") .declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("updateHeader", "updateHeader") .declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod('getSetting', 'getSetting') .declareAcquiredMethod('getSetting', 'getSetting')
.declareAcquiredMethod("jio_allDocs", "jio_allDocs") .declareAcquiredMethod("jio_allDocs", "jio_allDocs")
.allowPublicAcquisition("jio_allDocs", function (param_list) { .allowPublicAcquisition("jio_allDocs", function (param_list) {
var gadget = this; var gadget = this;
return this.jio_allDocs.apply(this, param_list) return this.jio_allDocs.apply(this, param_list)
.push(function (result) { .push(function (result) {
var i, var i,
len; len;
for (i = 0, len = result.data.total_rows; i < len; i += 1) { for (i = 0, len = result.data.total_rows; i < len; i += 1) {
// XXX jIO does not create UUID with module inside // XXX jIO does not create UUID with module inside
if (result.data.rows[i].id.indexOf("module") === -1) { if (result.data.rows[i].id.indexOf("module") === -1) {
result.data.rows[i].value.state = result.data.rows[i].value.state =
gadget.props.translation_dict["Not synced!"]; gadget.props.translation_dict["Not synced!"];
} else { } else {
result.data.rows[i].value.state = result.data.rows[i].value.state =
gadget.props.translation_dict[ gadget.props.translation_dict[
result.data.rows[i].value.local_state || result.data.rows[i].value.local_state ||
"Waiting for approval" "Waiting for approval"
]; ];
} }
} }
return result; return result;
}); });
}) })
.declareMethod("render", function (options) { .declareMethod("render", function (options) {
var gadget = this; var gadget = this;
return new RSVP.Queue() return new RSVP.Queue()
.push(function () { .push(function () {
return RSVP.all([ return RSVP.all([
gadget.getSetting("portal_type"), gadget.getSetting("portal_type"),
gadget.getSetting("bookmark_title_plural") gadget.getSetting("document_title_plural")
]); ]);
}) })
.push(function (answer_list) { .push(function (answer_list) {
gadget.props.portal_type = answer_list[0]; gadget.props.portal_type = answer_list[0];
gadget.props.bookmark_title_plural = answer_list[1]; gadget.props.bookmark_title_plural = answer_list[1];
return gadget.getUrlFor({page: "add_bookmark"}); return gadget.getUrlFor({page: "add_bookmark"});
}) })
.push(function (url) { .push(function (url) {
return gadget.updateHeader({ return gadget.updateHeader({
title: gadget.props.bookmark_title_plural, title: gadget.props.bookmark_title_plural,
add_url: url add_url: url
}); });
}) })
.push(function () { .push(function () {
return gadget.getDeclaredGadget("listbox"); return gadget.getDeclaredGadget("listbox");
}) })
.push(function (listbox) { .push(function (listbox) {
return listbox.render({ return listbox.render({
search_page: 'bookmark_list', search_page: 'bookmark_list',
search: options.search, search: options.search,
column_list: [{ column_list: [{
select: 'title', select: 'title',
title: 'Title' title: 'Title'
}, { }, {
select: 'url_string', select: 'url_string',
title: 'URL' title: 'URL'
}, { }, {
select: 'description', select: 'description',
title: 'Description' title: 'Description'
}], }],
query: { query: {
query: 'portal_type:("' + gadget.props.portal_type + '")', query: 'portal_type:("' + gadget.props.portal_type + '")',
select_list: ['title', 'url_string', 'description'], select_list: ['title', 'url_string', 'description'],
limit: [0, 30], limit: [0, 30],
sort_on: [["modification_date", "descending"]] sort_on: [["modification_date", "descending"]]
} }
}); });
}); });
}); });
}(window, RSVP, rJS)); }(window, RSVP, rJS));
\ No newline at end of file
...@@ -63,14 +63,6 @@ ...@@ -63,14 +63,6 @@
</tuple> </tuple>
</value> </value>
</item> </item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>contributor/person_module/1</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <value>
...@@ -78,12 +70,8 @@ ...@@ -78,12 +70,8 @@
</value> </value>
</item> </item>
<item> <item>
<key> <string>creators</string> </key> <key> <string>content_type</string> </key>
<value> <value> <string>text/javascript</string> </value>
<tuple>
<string>cedric.le.ninivin</string>
</tuple>
</value>
</item> </item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
...@@ -105,45 +93,24 @@ ...@@ -105,45 +93,24 @@
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>modification_date</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1455284352.18</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item> <item>
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Web Script</string> </value> <value> <string>Web Script</string> </value>
</item> </item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>OfficeJS Bookmark List JS</string> </value> <value> <string>OfficeJS Bookmark List JS</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -224,7 +191,7 @@ ...@@ -224,7 +191,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1468955568.76</float> <float>1485780679.17</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -269,7 +236,7 @@ ...@@ -269,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>953.62286.195.51114</string> </value> <value> <string>956.64652.30281.58163</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -287,7 +254,7 @@ ...@@ -287,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1478609077.97</float> <float>1485780674.63</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -310,7 +277,9 @@ ...@@ -310,7 +277,9 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>action</string> </key> <key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
...@@ -326,7 +295,7 @@ ...@@ -326,7 +295,7 @@
</item> </item>
<item> <item>
<key> <string>external_processing_state</string> </key> <key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value> <value> <string>empty</string> </value>
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
...@@ -344,7 +313,7 @@ ...@@ -344,7 +313,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1468955459.16</float> <float>1485779306.52</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -108,11 +108,15 @@ ...@@ -108,11 +108,15 @@
<value> <string>OfficeJS Bookmark Preference</string> </value> <value> <string>OfficeJS Bookmark Preference</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -238,7 +242,7 @@ ...@@ -238,7 +242,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>955.26757.64302.42649</string> </value> <value> <string>956.64450.52709.9386</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -256,7 +260,7 @@ ...@@ -256,7 +260,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1483369683.96</float> <float>1485780641.43</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -108,11 +108,15 @@ ...@@ -108,11 +108,15 @@
<value> <string>OfficeJS Bookmark Preference JS</string> </value> <value> <string>OfficeJS Bookmark Preference JS</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -238,7 +242,7 @@ ...@@ -238,7 +242,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>955.61034.43590.15752</string> </value> <value> <string>956.64450.52709.9386</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -256,7 +260,7 @@ ...@@ -256,7 +260,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1483369693.2</float> <float>1485780623.37</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -144,9 +144,7 @@ ...@@ -144,9 +144,7 @@
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <value> <string>001</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -259,7 +257,7 @@ ...@@ -259,7 +257,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -273,7 +271,7 @@ ...@@ -273,7 +271,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>951.28165.23904.20428</string> </value> <value> <string>956.64450.52709.9386</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -291,7 +289,7 @@ ...@@ -291,7 +289,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1464188540.8</float> <float>1485956743.96</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -140,9 +140,7 @@ ...@@ -140,9 +140,7 @@
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <value> <string>001</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -249,7 +247,7 @@ ...@@ -249,7 +247,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -263,7 +261,7 @@ ...@@ -263,7 +261,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>951.28163.54980.41130</string> </value> <value> <string>956.64450.52709.9386</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -281,7 +279,7 @@ ...@@ -281,7 +279,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1464188897.32</float> <float>1485956738.35</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -54,23 +54,30 @@ ...@@ -54,23 +54,30 @@
<section class="ui-body-c ui-content-section"> <section class="ui-body-c ui-content-section">
<p>Select a storage to synchronize your data with</p> <p>Select a storage to synchronize your data with</p>
<!--div class="select-storage ui-controlgroup ui-controlgroup-horizontal"--> <!--div class="select-storage ui-controlgroup ui-controlgroup-horizontal"-->
<div class="ui-grid-b ui-responsive"> <div class="ui-grid-a ui-responsive">
<div class="ui-block-a"> <div class="ui-block-a">
<form class="select-dav-form" style="margin-right: .3125em; margin-left: .3125em;">
<button class="ui-btn ui-btn-b" type="submit" data-i18n="DAV Storage">DAV Storage</button>
</form>
</div>
<div class="ui-block-b">
<form class="select-erp5-form" style="margin-right: .3125em; margin-left: .3125em;"> <form class="select-erp5-form" style="margin-right: .3125em; margin-left: .3125em;">
<button class="ui-btn ui-btn-b" type="submit" data-i18n="ERP5">ERP5</button> <button class="ui-btn ui-btn-b" type="submit" data-i18n="ERP5">ERP5</button>
</form> </form>
</div> </div>
<div class="ui-block-c"> <div class="ui-block-b">
<form class="select-local-form" style="margin-right: .3125em; margin-left: .3125em;"> <form class="select-local-form" style="margin-right: .3125em; margin-left: .3125em;">
<button class="ui-btn ui-btn-b" type="submit" data-i18n="Local is Enough">Local is Enough</button> <button class="ui-btn ui-btn-b" type="submit" data-i18n="Local is Enough">Local is Enough</button>
</form> </form>
</div> </div>
</div> </div>
<div class="ui-grid-a ui-responsive">
<div class="ui-block-a">
<form class="select-dav-form" style="margin-right: .3125em; margin-left: .3125em;">
<button class="ui-btn ui-btn-b" type="submit" data-i18n="DAV Storage">DAV Storage</button>
</form>
</div>
<div class="ui-block-b">
<form class="select-dropbox-form" style="margin-right: .3125em; margin-left: .3125em;">
<button class="ui-btn ui-btn-b" type="submit" data-i18n="Dropbox">Dropbox</button>
</form>
</div>
</div>
<!--/div--> <!--/div-->
</section> </section>
</article> </article>
......
...@@ -105,6 +105,12 @@ ...@@ -105,6 +105,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>OfficeJS jIO Configurator Gadget</string> </value> <value> <string>OfficeJS jIO Configurator Gadget</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
...@@ -234,7 +240,7 @@ ...@@ -234,7 +240,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>954.38531.13446.10769</string> </value> <value> <string>956.64450.52709.9386</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -252,7 +258,7 @@ ...@@ -252,7 +258,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1476434371.85</float> <float>1485791321.61</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -35,6 +35,24 @@ ...@@ -35,6 +35,24 @@
return gadget.redirect({page: 'jio_dav_configurator'}); return gadget.redirect({page: 'jio_dav_configurator'});
} }
function get_redirect_uri() {
return window.location.origin;
}
function setDroboxConfiguration(gadget) {
return new RSVP.Queue()
.push(function () {
return gadget.getSetting('dropbox_app_key');
})
.push(function (app_key) {
window.location = 'https://www.dropbox.com/1/oauth2/authorize?client_id='
+ encodeURIComponent(app_key)
+ '&response_type=token&redirect_uri='
+ encodeURIComponent(get_redirect_uri());
});
}
var gadget_klass = rJS(window); var gadget_klass = rJS(window);
gadget_klass gadget_klass
...@@ -72,6 +90,9 @@ ...@@ -72,6 +90,9 @@
case "LOCAL": case "LOCAL":
gadget.props.element.querySelector("form.select-local-form button").classList.add("ui-btn-active"); gadget.props.element.querySelector("form.select-local-form button").classList.add("ui-btn-active");
break; break;
case "DROPBOX":
gadget.props.element.querySelector("form.select-dropbox-form button").classList.add("ui-btn-active");
break;
default: default:
gadget.props.element.querySelector(".message h3").appendChild(document.createTextNode("Welcome in OfficeJS " + setting_list[1] + ". Please start by choosing a storage.")); gadget.props.element.querySelector(".message h3").appendChild(document.createTextNode("Welcome in OfficeJS " + setting_list[1] + ". Please start by choosing a storage."));
gadget.props.element.querySelector(".message").setAttribute("style", ""); gadget.props.element.querySelector(".message").setAttribute("style", "");
...@@ -119,6 +140,14 @@ ...@@ -119,6 +140,14 @@
function () { function () {
return setDAVConfiguration(gadget); return setDAVConfiguration(gadget);
} }
),
loopEventListener(
gadget.props.element.querySelector('form.select-dropbox-form'),
'submit',
true,
function () {
return setDroboxConfiguration(gadget);
}
) )
]); ]);
}); });
......
...@@ -101,6 +101,12 @@ ...@@ -101,6 +101,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>OfficeJS jIO Configurator Gadget JS</string> </value> <value> <string>OfficeJS jIO Configurator Gadget JS</string> </value>
</item> </item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>001</string> </value> <value> <string>001</string> </value>
...@@ -230,7 +236,7 @@ ...@@ -230,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>956.25761.13498.989</string> </value> <value> <string>957.3286.34994.57207</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -248,7 +254,7 @@ ...@@ -248,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1483450981.89</float> <float>1486030156.02</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
<!doctype html> <!doctype html>
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS jIO DAV Configurator Page</title> <title>OfficeJS jIO DAV Configurator Page</title>
<script src="rsvp.js"></script> <script src="rsvp.js"></script>
<script src="renderjs.js"></script> <script src="renderjs.js"></script>
<script src="gadget_officejs_page_jio_dav_configurator.js"></script> <script src="gadget_officejs_page_jio_dav_configurator.js"></script>
</head> </head>
<body> <body>
<article class="ui-content ui-body-c"> <article class="ui-content ui-body-c">
<section class="ui-content-header-plain"> <section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c"> <h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-database">&nbsp;</span> <span class="ui-icon ui-icon-custom ui-icon-database">&nbsp;</span>
Your WebDAV Connection parameters Your WebDAV Connection parameters
</h3> </h3>
</section> </section>
<section class="ui-body-c ui-content-section"> <section class="ui-body-c ui-content-section">
<form class="dav-configuration-form"> <form class="dav-configuration-form">
<div class="ui-form"> <div class="ui-form">
<div class="ui-field-contain"> <div class="ui-field-contain">
<label data-i18n="Connection URL:">Connection URL:</label> <label data-i18n="Connection URL:">Connection URL:</label>
<input type="url" name="dav_url" required value=""/> <input type="url" name="dav_url" required value=""/>
</div> </div>
<div class="ui-field-contain"> <div class="ui-field-contain">
<label data-i18n="Username:">Username:</label> <label data-i18n="Username:">Username:</label>
<input type="text" name="dav_username" value=""/> <input type="text" name="dav_username" value=""/>
</div> </div>
<div class="ui-field-contain"> <div class="ui-field-contain">
<label data-i18n="Password:">Password:</label> <label data-i18n="Password:">Password:</label>
<input type="password" name="dav_password" value=""/> <input type="password" name="dav_password" value=""/>
</div> </div>
</div> </div>
<div class="select-storage ui-controlgroup ui-controlgroup-horizontal"> <div class="select-storage ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-b ui-responsive"> <div class="ui-grid-b ui-responsive">
<div class="ui-block-a"></div> <div class="ui-block-a"></div>
<div class="ui-block-b"></div> <div class="ui-block-b"></div>
<div class="ui-block-c"> <div class="ui-block-c">
<button type="submit" data-i18n="Connect" class="ui-btn-btn-right">Connect</button> <button type="submit" data-i18n="Connect" class="ui-btn-btn-right">Connect</button>
</div> </div>
</div> </div>
</div> </div>
</form> </form>
</section> </section>
</article> </article>
<article class="ui-content ui-body-c document-access"> <article class="ui-content ui-body-c document-access">
<section class="ui-content-header-plain"> <section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c"> <h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-file-text-o">&nbsp;</span> <span class="ui-icon ui-icon-custom ui-icon-file-text-o">&nbsp;</span>
Your Documents Your Documents
</h3> </h3>
</section> </section>
<section class="ui-body-c ui-content-section"> <section class="ui-body-c ui-content-section">
<p style="color: red">Continue by <b>synchronizing</b> with your remote storage or <b>accessing</b> your documents</p> <p style="color: red">Continue by <b>synchronizing</b> with your remote storage or <b>accessing</b> your documents</p>
<div class="ui-controlgroup ui-controlgroup-horizontal"> <div class="ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-a ui-responsive"> <div class="ui-grid-a ui-responsive">
<div class="ui-block-a"> <div class="ui-block-a">
<a class="ui-btn" href="#page=sync" data-i18n="Synchronize">Synchronize</a> <a class="ui-btn" href="#page=sync&auto_repair=true" data-i18n="Synchronize">Synchronize</a>
</div> </div>
<div class="ui-block-b"> <div class="ui-block-b">
<a class="ui-btn" href="#page=document_list" data-i18n="Go to document List">Access document List</a> <a class="ui-btn" href="#page=document_list" data-i18n="Go to document List">Access document List</a>
</div> </div>
</div> </div>
</div> </div>
</section> </section>
</article> </article>
</body> <div class="global_setting_gadget" style="display: none;"></div>
</html> </body>
</html>
\ No newline at end of file
...@@ -97,22 +97,20 @@ ...@@ -97,22 +97,20 @@
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Web Page</string> </value> <value> <string>Web Page</string> </value>
</item> </item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>OfficeJS jIO DAV Configurator Page</string> </value> <value> <string>OfficeJS jIO DAV Configurator Page</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>url_string</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
...@@ -171,7 +169,7 @@ ...@@ -171,7 +169,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -193,7 +191,7 @@ ...@@ -193,7 +191,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1442831613.46</float> <float>1485780580.2</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -238,7 +236,7 @@ ...@@ -238,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>946.59102.61985.50653</string> </value> <value> <string>956.64652.20228.58760</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -256,7 +254,7 @@ ...@@ -256,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1446741062.96</float> <float>1485780575.5</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -279,11 +277,13 @@ ...@@ -279,11 +277,13 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>action</string> </key> <key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -295,7 +295,7 @@ ...@@ -295,7 +295,7 @@
</item> </item>
<item> <item>
<key> <string>external_processing_state</string> </key> <key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value> <value> <string>empty</string> </value>
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
...@@ -313,7 +313,7 @@ ...@@ -313,7 +313,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1442830550.27</float> <float>1485779297.53</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -105,7 +105,9 @@ ...@@ -105,7 +105,9 @@
</item> </item>
<item> <item>
<key> <string>url_string</string> </key> <key> <string>url_string</string> </key>
<value> <string>gadget_officejs_page_jio_dav_configurator.js</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
...@@ -236,7 +238,7 @@ ...@@ -236,7 +238,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>956.4046.59099.17288</string> </value> <value> <string>956.64903.6566.48281</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -254,7 +256,7 @@ ...@@ -254,7 +256,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1482142993.78</float> <float>1486042968.05</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS jIO Dropbox Configurator Page</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_officejs_page_jio_dropbox_configurator.js"></script>
</head>
<body>
<article class="ui-content ui-body-c">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-database">&nbsp;</span>
Your Dropbox Connection parameters
</h3>
</section>
<section class="ui-content-header-plain">
<p>Connecting to Dropbox</p>
</section>
</article>
<article class="ui-content ui-body-c document-access">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-file-text-o">&nbsp;</span>
Your Documents
</h3>
</section>
<section class="ui-body-c ui-content-section">
<p style="color: red">Continue by <b>synchronizing</b> with your remote storage or <b>accessing</b> your documents</p>
<div class="ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-a ui-responsive">
<div class="ui-block-a">
<a class="ui-btn" href="#page=sync" data-i18n="Synchronize">Synchronize</a>
</div>
<div class="ui-block-b">
<a class="ui-btn" href="#page=document_list" data-i18n="Go to document List">Access document List</a>
</div>
</div>
</div>
</section>
</article>
<div class="global_setting_gadget" style="display: none;"></div>
</body>
</html>
\ No newline at end of file
/*global window, rJS, RSVP, URI, location,
loopEventListener, btoa */
/*jslint nomen: true, indent: 2, maxerr: 3*/
(function (window, rJS, RSVP) {
"use strict";
function setDropboxConfiguration(gadget) {
return gadget.getSetting("portal_type")
.push(function (portal_type) {
var old_date = new Date(),
configuration = {};
// We are looking for documents modified in the past 3 month
old_date = new Date(old_date.getFullYear(), old_date.getMonth() - 3);
configuration = {
type: "replicate",
// XXX This drop the signature lists...
query: {
query: 'portal_type:"' + portal_type + '" ',
// XX Synchonizing the whole module is too much, here is a way to start quietly
// Supsended until modification_date is handled for synchronization
limit: [0, 1234567890]
},
use_remote_post: false,
conflict_handling: 2,
check_local_modification: true,
check_local_creation: true,
check_local_deletion: false,
check_remote_modification: true,
check_remote_creation: true,
check_remote_deletion: true,
local_sub_storage: {
type: "mapping",
attachment: {
'data': {
get: {uri_template: 'enclosure'},
put: {uri_template: 'enclosure'}
}
},
sub_storage: {
type: "query",
sub_storage: {
type: "uuid",
sub_storage: {
type: "indexeddb",
database: "officejs-dropbox"
}
}
}
},
remote_sub_storage: {
type: "mapping",
attachment: {
'data': {
get: {uri_template: 'enclosure'},
put: {uri_template: 'enclosure'}
}
},
mapping_dict: {
"portal_type": ["equalSubProperty", "type"]
},
sub_storage: {
type: "query",
sub_storage: {
type: "drivetojiomapping",
sub_storage: {
type: "dropbox",
access_token: gadget.props.access_token,
root: "sandbox"
}
}
}
}
};
return gadget.setSetting('jio_storage_description', configuration);
})
.push(function () {
return gadget.setSetting('jio_storage_name', "DROPBOX");
})
.push(function () {
return gadget.setSetting('sync_reload', true);
})
.push(function () {
return gadget.redirect({page: 'sync', auto_repair: 'true'});
});
}
var gadget_klass = rJS(window);
gadget_klass
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
g.props.deferred = RSVP.defer();
});
})
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("reload", "reload")
.declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("setSetting", "setSetting")
.declareMethod("getGlobalSetting", function (key) {
var gadget = this;
return gadget.getDeclaredGadget("global_setting_gadget")
.push(function (global_setting_gadget) {
return global_setting_gadget.getSetting(key);
});
})
.declareMethod("setGlobalSetting", function (key, value) {
var gadget = this;
return gadget.getDeclaredGadget("global_setting_gadget")
.push(function (global_setting_gadget) {
return global_setting_gadget.setSetting(key, value);
});
})
.declareMethod("render", function (options) {
var gadget = this;
return gadget.updateHeader({
title: "Connect To Drobox Storage",
back_url: "#page=jio_configurator",
panel_action: false
})
.push(function (options) {
return gadget.getSetting('jio_storage_name');
})
.push(function (jio_storage_name) {
if (!jio_storage_name) {
gadget.props.element.querySelector(".document-access").setAttribute("style", "display: none;");
}
})
.push(function () {
gadget.props.access_token = options.token;
return setDropboxConfiguration(gadget);
});
});
}(window, rJS, RSVP));
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment