Commit 84f81324 authored by Roque's avatar Roque

Improvements in new officejs approach and more app migrations

Fixes, refactoring, details and more app migrations.

/reviewed-on !916
parents 0e8ed8da 0dde05d0
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Action Information" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_list</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>pdf_viewer_view</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>reference</string> </key>
<value> <string>pdf_viewer_view</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/DocumentModule_viewDocumentListAsJioForPdfViewer</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Action Information" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_jio_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>pdf_viewer_view</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>reference</string> </key>
<value> <string>pdf_viewer_view</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/Document_viewAsPdfDocumentForPdfViewer</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Action Information" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>action_permission</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_jio_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>float_index</string> </key>
<value> <float>35.0</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>svg_editor_view</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>reference</string> </key>
<value> <string>svg_editor_view</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/WebPage_viewAsSvgtDocumentForSvgEditor</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Action Information" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>action_permission</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_list</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>float_index</string> </key>
<value> <float>10.0</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>codemirror_view</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>reference</string> </key>
<value> <string>codemirror_view</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/WebPageModule_viewWebPageListAsJioForCodemirror</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Action Information" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>action_permission</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_list</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>float_index</string> </key>
<value> <float>10.0</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>svg_editor_view</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>reference</string> </key>
<value> <string>svg_editor_view</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/WebPageModule_viewWebPageListAsJioForSvgEditor</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Action Information" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>action_permission</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_jio_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>float_index</string> </key>
<value> <float>35.0</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>codemirror_view</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>reference</string> </key>
<value> <string>codemirror_view</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/WebPage_viewAsJioForCodemirror</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -208,6 +208,65 @@ gadget_erp5_configure_editor.js\n ...@@ -208,6 +208,65 @@ gadget_erp5_configure_editor.js\n
gadget_officejs_setting.js\n gadget_officejs_setting.js\n
gadget_officejs_setting.html\n gadget_officejs_setting.html\n
\n \n
#new approach (storage hateoas requests)\n
gadget_erp5_pt_form_view_editable.html\n
gadget_erp5_pt_form_view_editable.js\n
gadget_erp5_pt_form_dialog.html\n
gadget_erp5_pt_form_dialog.js\n
gadget_erp5_field_list.html\n
gadget_erp5_field_list.js\n
gadget_erp5_field_listbox.html\n
gadget_erp5_field_listbox.js\n
gadget_html5_select.html\n
gadget_html5_select.js\n
gadget_ojs_local_jio.html\n
gadget_ojs_local_jio.js\n
gadget_erp5_page_action_officejs.html\n
gadget_erp5_page_action_officejs.js\n
gadget_erp5_page_ojs_local_controller.html\n
gadget_erp5_page_ojs_local_controller.js\n
gadget_officejs_form_view.html\n
gadget_officejs_form_view.js\n
gadget_erp5_page_handle_action.html\n
gadget_erp5_page_handle_action.js\n
gadget_officejs_common_util.html\n
gadget_officejs_common_util.js\n
gadget_erp5_page_create_document.html\n
gadget_erp5_page_create_document.js\n
\n
#needed for appcachestorage sync\n
/\n
app/\n
gadget_officejs_codemirror.configuration\n
gadget_officejs_bootloader.js\n
gadget_officejs_bootloader_presentation.html\n
gadget_officejs_bootloader_presentation.js\n
gadget_officejs_bootloader_presentation.css\n
gadget_officejs_bootloader_serviceworker.js\n
officejs_logo.png\n
jio_appcachestorage.js\n
jio_configuration_storage.js\n
\n
#configuration resources\n
\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page Module)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlIE1vZHVsZQ==\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page Module/codemirror_view)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlIE1vZHVsZS9jb2RlbWlycm9yX3ZpZXc=\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Script)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBTY3JpcHQ=\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Script/codemirror_view)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBTY3JpcHQvY29kZW1pcnJvcl92aWV3\n
\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_officejs_codemirror/Base_viewNewContentDialogForCodemirror)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfb2ZmaWNlanNfY29kZW1pcnJvci9CYXNlX3ZpZXdOZXdDb250ZW50RGlhbG9nRm9yQ29kZW1pcnJvcg==\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_officejs_codemirror/WebPageModule_viewWebPageListAsJioForCodemirror)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfb2ZmaWNlanNfY29kZW1pcnJvci9XZWJQYWdlTW9kdWxlX3ZpZXdXZWJQYWdlTGlzdEFzSmlvRm9yQ29kZW1pcnJvcg==\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_officejs_codemirror/WebPage_viewAsJioForCodemirror)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfb2ZmaWNlanNfY29kZW1pcnJvci9XZWJQYWdlX3ZpZXdBc0ppb0ZvckNvZGVtaXJyb3I=\n
\n
\n
\n
#code mirror\n #code mirror\n
officejs_javascript_editor_icon.png\n officejs_javascript_editor_icon.png\n
gadget_officejs_json_manifest_javascript_editor.json\n gadget_officejs_json_manifest_javascript_editor.json\n
...@@ -398,7 +457,7 @@ NETWORK:\n ...@@ -398,7 +457,7 @@ NETWORK:\n
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>973.23494.2134.9352</string> </value> <value> <string>977.57984.44848.64477</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -416,7 +475,7 @@ NETWORK:\n ...@@ -416,7 +475,7 @@ NETWORK:\n
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1549009933.21</float> <float>1567773407.73</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -14,11 +14,17 @@ ...@@ -14,11 +14,17 @@
</head> </head>
<body> <body>
<script data-renderjs-configuration="configuration_manifest" type="text/x-renderjs-configuration">gadget_officejs_codemirror.configuration</script>
<script data-renderjs-configuration="portal_type" type="text/x-renderjs-configuration">Web Script</script> <script data-renderjs-configuration="portal_type" type="text/x-renderjs-configuration">Web Script</script>
<script data-renderjs-configuration="content_type" type="text/x-renderjs-configuration">application/javascript</script> <script data-renderjs-configuration="content_type" type="text/x-renderjs-configuration">application/javascript</script>
<script data-renderjs-configuration="document_title" type="text/x-renderjs-configuration">JS script</script>
<script data-renderjs-configuration="document_title_plural" type="text/x-renderjs-configuration">JS scripts</script>
<script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">web_page_module</script> <script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">web_page_module</script>
<script data-renderjs-configuration="parent_portal_type" type="text/x-renderjs-configuration">Web Page Module</script>
<script data-renderjs-configuration="portal_skin_folder" type="text/x-renderjs-configuration">erp5_officejs_codemirror</script>
<script data-renderjs-configuration="app_actions" type="text/x-renderjs-configuration">('Web Script | codemirror_view', 'Web Page Module | codemirror_view')</script>
<script data-renderjs-configuration="app_allowed_sub_types" type="text/x-renderjs-configuration">('Web Page Module | Web Script',)</script>
<script data-renderjs-configuration="app_view_reference" type="text/x-renderjs-configuration">codemirror_view</script>
<script data-renderjs-configuration="web_page_module_dict" type="text/x-renderjs-configuration">{"front_page": 1, "editable": 0, "hide_add_button": 0, "jump_button": 0, "fast_input_button": 0, "export_button": 0, "filter_action": 1, "panel_action": 1, "previous_next_button": 0, "history_previous_link": 0, "title": "JS Scripts", "hide_listbox_buttons": 1, "blob_type": "", "blob_create_object_url": 0}</script>
<script data-renderjs-configuration="web_script_dict" type="text/x-renderjs-configuration"> {"front_page": 0, "editable": 1, "hide_add_button": 0, "jump_button": 0, "fast_input_button": 0, "export_button": 0, "filter_action": 0, "panel_action": 1, "previous_next_button": 1, "history_previous_link": 1, "title": "JS Script", "hide_listbox_buttons": 1, "blob_type": "", "blob_create_object_url": 0}</script>
<script data-renderjs-configuration="erp5_attachment_synchro" type="text/x-renderjs-configuration"></script> <script data-renderjs-configuration="erp5_attachment_synchro" type="text/x-renderjs-configuration"></script>
<script data-renderjs-configuration="dropbox_app_key" type="text/x-renderjs-configuration">xztne380tmhy7xu</script> <script data-renderjs-configuration="dropbox_app_key" type="text/x-renderjs-configuration">xztne380tmhy7xu</script>
<div data-gadget-url="gadget_erp5_router.html" data-gadget-scope="erp5_router"></div> <div data-gadget-url="gadget_erp5_router.html" data-gadget-scope="erp5_router"></div>
......
...@@ -277,7 +277,7 @@ ...@@ -277,7 +277,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>970.26997.33546.6348</string> </value> <value> <string>978.36799.29647.47735</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -295,7 +295,7 @@ ...@@ -295,7 +295,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1537540898.55</float> <float>1568974099.83</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -91,6 +91,30 @@ ...@@ -91,6 +91,30 @@
})); }));
} }
function getFormInfo(form_definition) {
var child_gadget_url,
form_type,
action_category = form_definition.action_type;
switch (action_category) {
case 'object_list':
form_type = 'list';
child_gadget_url = 'gadget_erp5_pt_form_list.html';
break;
case 'object_dialog':
form_type = 'dialog';
child_gadget_url = 'gadget_erp5_pt_form_dialog.html';
break;
case 'object_jio_js_script':
form_type = 'dialog';
child_gadget_url = 'gadget_erp5_pt_form_dialog.html';
break;
default:
form_type = 'page';
child_gadget_url = 'gadget_erp5_pt_form_view_editable.html';
}
return [form_type, child_gadget_url];
}
rJS(window) rJS(window)
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
// Acquired methods // Acquired methods
...@@ -175,46 +199,72 @@ ...@@ -175,46 +199,72 @@
}); });
}) })
.declareMethod("getFormInfo", function (form_definition) { .declareMethod("getDialogFormDefinition", function (form_name, category) {
var child_gadget_url, var gadget = this,
form_type, form_definition,
action_category = form_definition.action_type; form_info;
switch (action_category) { return gadget.getSetting('portal_skin_folder')
case 'object_list': .push(function (portal_skin_folder) {
form_type = 'list'; return gadget.jio_get("portal_skins/" + portal_skin_folder + "/" +
child_gadget_url = 'gadget_erp5_pt_form_list.html'; form_name);
break; })
case 'object_dialog': .push(function (form_result) {
form_type = 'dialog'; form_definition = form_result.raw_dict._embedded._view
child_gadget_url = 'gadget_erp5_pt_form_dialog.html'; ._embedded.form_definition;
break; form_definition.fields_raw_properties = form_result.raw_dict._embedded
case 'object_jio_js_script': ._view.my_fields_raw_properties["default"];
form_type = 'dialog'; form_definition._actions = form_result.raw_dict._embedded
child_gadget_url = 'gadget_erp5_pt_form_dialog.html'; ._view._actions;
break; form_definition.group_list = form_result.raw_dict.group_list;
default: form_definition.title = form_result.raw_dict.title;
form_type = 'page'; form_definition.portal_type_dict = {};
child_gadget_url = 'gadget_erp5_pt_form_view_editable.html'; form_definition.action_type = category;
} form_info = getFormInfo(form_definition);
return [form_type, child_gadget_url]; form_definition.form_type = form_info[0];
form_definition.child_gadget_url = form_info[1];
return form_definition;
});
}) })
.declareMethod("getFormDefinition", function (portal_type, .declareMethod("getFormDefinition", function (portal_type,
action_reference) { action_reference) {
var gadget = this, var gadget = this,
query = buildSearchQuery(portal_type, action_reference), query = buildSearchQuery(portal_type, action_reference),
portal_type_dict_setting = portal_type.replace(/ /g, '_')
.toLowerCase() + "_dict",
portal_type_dict = {},
action_type, action_type,
action_title, action_title,
form_definition, form_definition,
portal_skin_folder, portal_skin_folder,
app_allowed_sub_types,
form_info,
error; error;
return gadget.getSetting("portal_skin_folder") return RSVP.Queue()
.push(function (result) { .push(function () {
if (!result) { return RSVP.all([
gadget.getSetting(portal_type_dict_setting),
gadget.getSetting("portal_skin_folder"),
gadget.getSetting("app_allowed_sub_types")
]);
})
.push(function (result_list) {
app_allowed_sub_types = result_list[2];
if (!result_list[1]) {
throw new Error("Missing site configuration 'portal_skin_folder'"); throw new Error("Missing site configuration 'portal_skin_folder'");
} }
result = "portal_skins/" + result; portal_skin_folder = "portal_skins/" + result_list[1];
portal_skin_folder = result; if (result_list[0]) {
try {
portal_type_dict = window.JSON.parse(result_list[0]);
} catch (e) {
if (e instanceof SyntaxError) {
throw new Error("Bad JSON dict in configuration setting '" +
portal_type_dict_setting + "'");
}
throw e;
}
}
return gadget.jio_allDocs({query: query}); return gadget.jio_allDocs({query: query});
}) })
.push(function (data) { .push(function (data) {
...@@ -244,7 +294,8 @@ ...@@ -244,7 +294,8 @@
._view._actions; ._view._actions;
//[PATCH] if custom action and anonymous //[PATCH] if custom action and anonymous
// get _actions field from fields_raw_properties // get _actions field from fields_raw_properties
if ("_actions" in form_definition.fields_raw_properties) { if (form_definition.fields_raw_properties
.hasOwnProperty("_actions")) {
if (!form_definition._actions && if (!form_definition._actions &&
action_type === "object_jio_js_script") { action_type === "object_jio_js_script") {
form_definition._actions = form_definition form_definition._actions = form_definition
...@@ -254,28 +305,29 @@ ...@@ -254,28 +305,29 @@
} }
form_definition.group_list = form_result.raw_dict.group_list; form_definition.group_list = form_result.raw_dict.group_list;
form_definition.action_type = action_type; form_definition.action_type = action_type;
form_info = getFormInfo(form_definition);
form_definition.form_type = form_info[0];
form_definition.child_gadget_url = form_info[1];
form_definition.title = action_title; form_definition.title = action_title;
return gadget.getSetting("app_allowed_sub_types"); form_definition.portal_type_dict = portal_type_dict;
}) return formatSettingList(app_allowed_sub_types, portal_type);
.push(function (allowed_sub_types_setting) {
return formatSettingList(allowed_sub_types_setting, portal_type);
}) })
.push(function (allowed_sub_types_pairs) { .push(function (allowed_sub_types_pairs) {
var allowed_sub_types = allowed_sub_types_pairs.map(function (pair) { var allowed_sub_types = allowed_sub_types_pairs.map(function (pair) {
return pair[1]; return pair[1];
}); });
form_definition.allowed_sub_types_list = allowed_sub_types; form_definition.allowed_sub_types_list = allowed_sub_types;
form_definition.new_content_dialog_form = portal_type_dict
.new_content_dialog_form;
form_definition.new_content_category = portal_type_dict
.new_content_category;
return gadget.getViewAndActionDict(portal_type); return gadget.getViewAndActionDict(portal_type);
}) })
.push(function (action_view_dict) { .push(function (action_view_dict) {
form_definition.has_more_views = form_definition.portal_type_dict.has_more_views =
Object.keys(action_view_dict.view_list).length > 1; Object.keys(action_view_dict.view_list).length > 1;
form_definition.has_more_actions = form_definition.portal_type_dict.has_more_actions =
Object.keys(action_view_dict.action_list).length > 0; Object.keys(action_view_dict.action_list).length > 0;
return gadget.getSetting('hide_header_add_button');
})
.push(function (hide_add_button_setting) {
form_definition.hide_add_button = hide_add_button_setting === "1";
return form_definition; return form_definition;
}); });
}); });
......
...@@ -269,7 +269,7 @@ ...@@ -269,7 +269,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>977.16294.5398.40106</string> </value> <value> <string>978.26807.33358.5717</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -287,7 +287,7 @@ ...@@ -287,7 +287,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1563811574.1</float> <float>1568651276.38</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
.declareAcquiredMethod("jio_get", "jio_get") .declareAcquiredMethod("jio_get", "jio_get")
.declareAcquiredMethod("jio_put", "jio_put") .declareAcquiredMethod("jio_put", "jio_put")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("getSetting", "getSetting") .declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("notifySubmitted", 'notifySubmitted') .declareAcquiredMethod("notifySubmitted", 'notifySubmitted')
.declareAcquiredMethod("notifySubmitting", "notifySubmitting") .declareAcquiredMethod("notifySubmitting", "notifySubmitting")
...@@ -20,28 +21,38 @@ ...@@ -20,28 +21,38 @@
.declareMethod("render", function (options) { .declareMethod("render", function (options) {
var gadget = this, var gadget = this,
default_view,
app_view, app_view,
form_definition,
gadget_util, gadget_util,
jio_document, jio_document,
portal_type, portal_type,
front_page; current_version,
return RSVP.Queue() index;
current_version = window.location.href.replace(window.location.hash, "");
index = current_version.indexOf(window.location.host) +
window.location.host.length;
current_version = current_version.substr(index);
return gadget.getSetting("migration_version")
.push(function (migration_version) {
if (migration_version !== current_version) {
//if app version has changed, force storage sync
return gadget.redirect({
'command': 'display',
'options': {
'page': 'ojs_sync',
'auto_repair': true
}
});
}
})
.push(function () { .push(function () {
return RSVP.all([ return RSVP.all([
gadget.declareGadget("gadget_officejs_common_util.html"), gadget.declareGadget("gadget_officejs_common_util.html"),
gadget.getSetting('app_view_reference'), gadget.getSetting('app_view_reference')
gadget.getSetting('default_view_reference'),
gadget.getSetting('documents_editable')
]); ]);
}) })
.push(function (result_list) { .push(function (result_list) {
gadget_util = result_list[0]; gadget_util = result_list[0];
app_view = options.action || result_list[1]; app_view = options.action || result_list[1];
default_view = result_list[2];
options.editable = ((result_list[3] == "1") ?
true : options.editable);
return gadget.jio_get(options.jio_key); return gadget.jio_get(options.jio_key);
}) })
.push(function (result) { .push(function (result) {
...@@ -64,49 +75,47 @@ ...@@ -64,49 +75,47 @@
} else { } else {
portal_type = parent_portal_type; portal_type = parent_portal_type;
} }
front_page = portal_type === parent_portal_type;
return gadget_util.getFormDefinition(portal_type, app_view); return gadget_util.getFormDefinition(portal_type, app_view);
}) })
.push(function (result) { .push(function (result) {
return result; return result;
}, function (error) {
if (error.status_code === 400) {
return gadget_util.getFormDefinition(portal_type, default_view);
}
throw error;
}) })
.push(function (result) { .push(function (form_definition) {
form_definition = result;
return gadget_util.getFormInfo(form_definition);
})
.push(function (form_info) {
var form_type = form_info[0],
child_gadget_url = form_info[1];
return gadget.changeState({ return gadget.changeState({
jio_key: options.jio_key, jio_key: options.jio_key,
doc: jio_document, doc: jio_document,
portal_type: portal_type, portal_type: portal_type,
child_gadget_url: child_gadget_url, child_gadget_url: form_definition.child_gadget_url,
form_definition: form_definition, form_definition: form_definition,
form_type: form_type, form_type: form_definition.form_type,
editable: options.editable, view: options.view || app_view
view: options.view || default_view,
front_page: front_page
}); });
}); });
}) })
.onStateChange(function () { .onStateChange(function () {
var fragment = document.createElement('div'), var fragment = document.createElement('div'),
gadget = this; gadget = this,
view_gadget_url = "gadget_officejs_form_view.html",
custom_gadget_url = gadget.state.form_definition.portal_type_dict
.custom_view_gadget;
while (this.element.firstChild) { while (this.element.firstChild) {
this.element.removeChild(this.element.firstChild); this.element.removeChild(this.element.firstChild);
} }
this.element.appendChild(fragment); if (custom_gadget_url) {
return gadget.declareGadget("gadget_officejs_form_view.html", view_gadget_url = custom_gadget_url;
}
gadget.element.appendChild(fragment);
return gadget.declareGadget(view_gadget_url,
{element: fragment, scope: 'form_view'}) {element: fragment, scope: 'form_view'})
.push(function (form_view_gadget) { .push(function (form_view_gadget) {
return form_view_gadget.render(gadget.state); return form_view_gadget.render(gadget.state);
}, function (error) {
console.log(error);
return gadget.notifySubmitted({
message: "Error rendering view",
status: "error"
});
}); });
}) })
......
...@@ -228,7 +228,7 @@ ...@@ -228,7 +228,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>977.8828.48212.64904</string> </value> <value> <string>978.36723.12245.1757</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1563366536.83</float> <float>1568969561.34</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -269,7 +269,7 @@ ...@@ -269,7 +269,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>977.6084.46638.22954</string> </value> <value> <string>978.46851.17123.15906</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -287,7 +287,7 @@ ...@@ -287,7 +287,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1563366620.2</float> <float>1569577593.67</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -216,6 +216,65 @@ gadget_officejs_jio_web_illustration_view.js\n ...@@ -216,6 +216,65 @@ gadget_officejs_jio_web_illustration_view.js\n
gadget_officejs_svg_editor.json\n gadget_officejs_svg_editor.json\n
taskman-svg.png\n taskman-svg.png\n
\n \n
#new approach (storage hateoas requests)\n
gadget_ojs_local_jio.html\n
gadget_ojs_local_jio.js\n
gadget_erp5_pt_form_view_editable.html\n
gadget_erp5_pt_form_view_editable.js\n
gadget_erp5_pt_form_dialog.html\n
gadget_erp5_pt_form_dialog.js\n
gadget_erp5_field_list.html\n
gadget_erp5_field_list.js\n
gadget_erp5_field_listbox.html\n
gadget_erp5_field_listbox.js\n
gadget_html5_select.html\n
gadget_html5_select.js\n
gadget_erp5_page_action_officejs.html\n
gadget_erp5_page_action_officejs.js\n
gadget_erp5_page_ojs_local_controller.html\n
gadget_erp5_page_ojs_local_controller.js\n
gadget_officejs_form_view.html\n
gadget_officejs_form_view.js\n
gadget_erp5_page_handle_action.html\n
gadget_erp5_page_handle_action.js\n
gadget_officejs_common_util.html\n
gadget_officejs_common_util.js\n
gadget_erp5_page_create_document.html\n
gadget_erp5_page_create_document.js\n
\n
#needed for appcachestorage sync\n
/\n
app/\n
gadget_officejs_illustration.configuration\n
gadget_officejs_bootloader.js\n
gadget_officejs_bootloader_presentation.html\n
gadget_officejs_bootloader_presentation.js\n
gadget_officejs_bootloader_presentation.css\n
gadget_officejs_bootloader_serviceworker.js\n
officejs_logo.png\n
jio_appcachestorage.js\n
jio_configuration_storage.js\n
\n
#custom actions\n
\n
#configuration resources\n
\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page Module)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlIE1vZHVsZQ==\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page Module/svg_editor_view)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlIE1vZHVsZS9zdmdfZWRpdG9yX3ZpZXc=\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Illustration)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBJbGx1c3RyYXRpb24=\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Illustration/svg_editor_view)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBJbGx1c3RyYXRpb24vc3ZnX2VkaXRvcl92aWV3\n
\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_officejs_svg_editor/Base_viewNewContentDialogForSvgEditor)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfb2ZmaWNlanNfc3ZnX2VkaXRvci9CYXNlX3ZpZXdOZXdDb250ZW50RGlhbG9nRm9yU3ZnRWRpdG9y\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_officejs_svg_editor/WebPage_viewAsSvgtDocumentForSvgEditor)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfb2ZmaWNlanNfc3ZnX2VkaXRvci9XZWJQYWdlX3ZpZXdBc1N2Z3REb2N1bWVudEZvclN2Z0VkaXRvcg==\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_officejs_svg_editor/WebPageModule_viewWebPageListAsJioForSvgEditor)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfb2ZmaWNlanNfc3ZnX2VkaXRvci9XZWJQYWdlTW9kdWxlX3ZpZXdXZWJQYWdlTGlzdEFzSmlvRm9yU3ZnRWRpdG9y\n
\n
#svg editor\n #svg editor\n
method-draw/browser-not-supported.html\n method-draw/browser-not-supported.html\n
method-draw/method-draw/css/font-files/Anivers-webfont.woff\n method-draw/method-draw/css/font-files/Anivers-webfont.woff\n
...@@ -619,7 +678,7 @@ NETWORK:\n ...@@ -619,7 +678,7 @@ NETWORK:\n
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>973.23494.2134.9352</string> </value> <value> <string>977.57610.18040.10786</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -637,7 +696,7 @@ NETWORK:\n ...@@ -637,7 +696,7 @@ NETWORK:\n
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1549009886.55</float> <float>1567773386.07</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
/*jslint indent:2, maxlen: 80, nomen: true */
/*global jIO, RSVP, window, URL, atob, btoa, Rusha */
(function (window, jIO, RSVP, URL, atob, btoa, Rusha) {
"use strict";
var rusha = new Rusha();
function decodeDocumentId(id, hateoas_appcache) {
var hateoas_section,
hateoas_section_and_view;
hateoas_section = "./" + hateoas_appcache + "/";
hateoas_section_and_view = hateoas_section + "definition_view/";
id = id.replace(hateoas_section_and_view, "");
id = atob(id);
return id;
}
function encodeDocumentId(id, hateoas_appcache) {
var hateoas_section,
hateoas_section_and_view;
id = btoa(id);
hateoas_section = "./" + hateoas_appcache + "/";
hateoas_section_and_view = hateoas_section + "definition_view/";
id = hateoas_section_and_view + id;
return id;
}
function processHateoasDict(raw_dict) {
var raw_field_list, type, parent, field_key, field_id, return_dict = {};
return_dict.raw_dict = raw_dict;
/*jslint nomen: true*/
if (raw_dict.hasOwnProperty("_embedded") &&
raw_dict._embedded.hasOwnProperty("_view")) {
raw_field_list = raw_dict._embedded._view;
type = raw_dict._links.type.name;
parent = raw_dict._links.parent.name;
return_dict.parent_relative_url = "portal_types/" + parent;
return_dict.portal_type = type;
for (field_key in raw_field_list) {
if (raw_field_list.hasOwnProperty(field_key)) {
field_id = "";
if (raw_field_list[field_key]["default"] !== undefined &&
raw_field_list[field_key]["default"] !== "") {
if (field_key.startsWith("my_")) {
field_id = field_key.replace("my_", "");
} else if (field_key.startsWith("your_")) {
field_id = field_key.replace("your_", "");
} else {
field_id = field_key;
}
return_dict[field_id] = raw_field_list[field_key]["default"];
}
}
}
} else {
// ignore non configuration elements
return raw_dict;
}
return return_dict;
}
function ConfigurationStorage(spec) {
if (spec.sub_storage.type !== "appcache") {
throw new Error("appcache substorage is mandatory for configuration " +
"storage");
}
this._sub_storage = jIO.createJIO(spec.sub_storage);
this._hateoas_appcache = spec.hateoas_appcache;
this._manifest = spec.manifest;
this._origin_url = spec.origin_url !== undefined ?
spec.origin_url : window.location.href;
this._version = spec.version || "";
this._prefix = spec.prefix || "./";
this._version = this._prefix + this._version;
this._hash = "";
}
ConfigurationStorage.prototype.get = function (id) {
var storage = this;
id = encodeDocumentId(id, storage._hateoas_appcache);
return storage._sub_storage.getAttachment(storage._origin_url,
id,
{"format": "json"})
.push(function (content) {
content = processHateoasDict(content);
content.hash = storage._hash;
return content;
});
};
ConfigurationStorage.prototype.hasCapacity = function () {
return true;
};
ConfigurationStorage.prototype.getAttachment = function () {
return this._sub_storage.getAttachment.apply(this._sub_storage, arguments);
};
ConfigurationStorage.prototype.allAttachments = function () {
return this._sub_storage.allAttachments.apply(this._sub_storage, arguments);
};
ConfigurationStorage.prototype.buildQuery = function () {
var storage = this,
result = [],
decoded_id,
attachment_id;
return storage.allAttachments(storage._origin_url)
.push(function (all_attachments) {
for (attachment_id in all_attachments) {
if (all_attachments.hasOwnProperty(attachment_id)) {
if (attachment_id !== storage._version &&
attachment_id !== storage._version + "/" &&
attachment_id !== storage._version + storage._manifest) {
decoded_id = decodeDocumentId(attachment_id,
storage._hateoas_appcache);
result.push({
'id': decoded_id,
'value': {hash: storage._hash},
'doc': {hash: storage._hash}
});
}
}
}
return result;
});
};
ConfigurationStorage.prototype.repair = function (app_version) {
var storage = this,
url = new URL(storage._manifest, new URL(storage._version,
storage._origin_url));
return new RSVP.Queue()
.push(function () {
return jIO.util.ajax({
type: "GET",
url: url
});
})
.push(function (response) {
var text = response.target.responseText;
//hash is attached to manifest text and app version
//if the app version has changed, then a cleanup was done in the storage
//documents must be updated to restore any potential missing document
storage._hash = rusha.digestFromString(text + app_version);
return storage._sub_storage.repair.apply(storage._sub_storage,
arguments);
});
};
jIO.addStorage('configuration', ConfigurationStorage);
}(window, jIO, RSVP, URL, atob, btoa, Rusha));
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
<script src="jiodev.js" type="text/javascript"></script> <script src="jiodev.js" type="text/javascript"></script>
<script src="jio_ojs_storage.js" type="text/javascript"></script> <script src="jio_ojs_storage.js" type="text/javascript"></script>
<script src="jio_appcachestorage.js"></script> <script src="jio_appcachestorage.js"></script>
<script src="jio_configuration_storage.js"></script>
<!-- custom script --> <!-- custom script -->
<script src="gadget_ojs_local_jio.js" type="text/javascript"></script> <script src="gadget_ojs_local_jio.js" type="text/javascript"></script>
......
...@@ -236,7 +236,7 @@ ...@@ -236,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>976.52707.23546.23773</string> </value> <value> <string>977.15823.10779.36625</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -254,7 +254,7 @@ ...@@ -254,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1563367270.05</float> <float>1567674891.35</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -234,7 +234,7 @@ ...@@ -234,7 +234,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>976.64179.23426.41403</string> </value> <value> <string>978.21248.62721.2184</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -252,7 +252,7 @@ ...@@ -252,7 +252,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1563367274.51</float> <float>1568041535.95</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
// Acquired methods // Acquired methods
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
.declareAcquiredMethod("jio_get", "jio_get") .declareAcquiredMethod("jio_get", "jio_get")
.declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("redirect", "redirect") .declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("jio_post", "jio_post") .declareAcquiredMethod("jio_post", "jio_post")
...@@ -16,32 +15,13 @@ ...@@ -16,32 +15,13 @@
// declared methods // declared methods
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
.declareMethod("createDocument", function (portal_type,
parent_portal_type) {
var gadget = this,
doc = {
title: "Untitled Document",
portal_type: portal_type,
parent_relative_url: parent_portal_type
};
return gadget.jio_post(doc)
.push(function (id) {
return gadget.redirect({
command: 'display',
options: {
jio_key: id,
editable: true
}
});
});
})
.declareMethod("render", function (options) { .declareMethod("render", function (options) {
var gadget = this, var gadget = this,
allowed_sub_types_list = options.allowed_sub_types_list.split(","), allowed_sub_types_list = options.allowed_sub_types_list.split(","),
parent_portal_type = options.portal_type, parent_portal_type = options.portal_type,
dialog_form = options.new_content_dialog_form,
dialog_category = options.new_content_category,
portal_type, portal_type,
form_definition,
document_title; document_title;
return gadget.jio_get(options.jio_key) return gadget.jio_get(options.jio_key)
.push(function (document) { .push(function (document) {
...@@ -53,32 +33,32 @@ ...@@ -53,32 +33,32 @@
}) })
.push(function (portal_type_result) { .push(function (portal_type_result) {
portal_type = portal_type_result; portal_type = portal_type_result;
return gadget.getSetting("new_content_action"); if (dialog_form) {
}) return gadget.declareGadget("gadget_officejs_common_util.html")
.push(function (new_content_action) { .push(function (gadget_util) {
if (!new_content_action) { return gadget_util.getDialogFormDefinition(dialog_form,
throw new Error("Missing site configuration 'new_content_action'"); dialog_category);
})
.push(function (form_definition) {
return gadget.changeState({
doc: { header_title: form_definition.title || document_title,
portal_type: allowed_sub_types_list },
//TODO this should be a portal_dict setting and not global
parent_portal_type: parent_portal_type,
action_options: options,
child_gadget_url: form_definition.child_gadget_url,
form_type: form_definition.form_type,
form_definition: form_definition,
view: "view",
show_dialog: true
});
});
} }
return gadget.jio_get(new_content_action);
})
.push(function (form_result) {
form_definition = form_result.raw_dict._embedded._view
._embedded.form_definition;
form_definition.fields_raw_properties = form_result.raw_dict._embedded
._view.my_fields_raw_properties["default"];
form_definition._actions = form_result.raw_dict._embedded
._view._actions;
form_definition.group_list = form_result.raw_dict.group_list;
form_definition.title = "Create Document";
return gadget.changeState({ return gadget.changeState({
doc: { title: document_title, portal_type: allowed_sub_types_list }, doc: { header_title: document_title,
portal_type: allowed_sub_types_list },
parent_portal_type: parent_portal_type, parent_portal_type: parent_portal_type,
action_options: options, show_dialog: false
child_gadget_url: 'gadget_erp5_pt_form_dialog.html',
form_type: 'dialog',
form_definition: form_definition,
view: "view",
show_dialog: allowed_sub_types_list.length > 1
}); });
}); });
}) })
...@@ -96,21 +76,57 @@ ...@@ -96,21 +76,57 @@
.push(function (form_view_gadget) { .push(function (form_view_gadget) {
return form_view_gadget.render(gadget.state); return form_view_gadget.render(gadget.state);
}); });
}
// if no form, skip dialog assuming there is only one portal type
return gadget.createDocument(gadget.state.doc.portal_type[0],
gadget.state.parent_portal_type
.replace(/ /g, '_').toLowerCase());
})
.declareMethod("createDocument", function (portal_type,
parent_portal_type,
content) {
var gadget = this,
doc = {};
if (!content) {
doc.portal_type = portal_type;
doc.parent_relative_url = parent_portal_type;
} else { } else {
// if there is only one sub portal type doc = content;
// skip create document dialog rendering
return gadget.createDocument(gadget.state.doc.portal_type[0],
gadget.state.parent_portal_type
.replace(/ /g, '_').toLowerCase());
} }
if (!doc.title) {
doc.title = "Untitled document";
}
return gadget.jio_post(doc)
.push(function (id) {
return gadget.redirect({
command: 'display',
options: {
jio_key: id,
editable: true
}
});
});
})
.declareMethod("triggerSubmit", function () {
return this.element.querySelector('button[type="submit"]').click();
}) })
.allowPublicAcquisition('submitContent', function (options) { .allowPublicAcquisition('submitContent', function (options) {
var gadget = this, var gadget = this,
content_dict = options[2]; content_dict = options[2];
return gadget.createDocument(content_dict.portal_type, if (!content_dict.portal_type) {
content_dict.portal_type = gadget.state.doc.portal_type[0];
}
if (!content_dict.parent_relative_url) {
content_dict.parent_relative_url = gadget.state.parent_portal_type
.replace(/ /g, '_').toLowerCase();
}
return gadget.createDocument(gadget.state.doc.portal_type[0],
gadget.state.parent_portal_type gadget.state.parent_portal_type
.replace(/ /g, '_').toLowerCase()); .replace(/ /g, '_').toLowerCase(),
content_dict);
}); });
}(window, document, rJS)); }(window, document, rJS));
\ No newline at end of file
...@@ -228,7 +228,7 @@ ...@@ -228,7 +228,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>977.1486.37580.56729</string> </value> <value> <string>978.12359.56087.21111</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1562923143.55</float> <float>1567507688.29</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -34,14 +34,13 @@ ...@@ -34,14 +34,13 @@
}) })
.declareMethod("render", function (options) { .declareMethod("render", function (options) {
var gadget = this, action_reference, gadget_util, form_definition; var gadget = this, action_reference;
return RSVP.Queue() return RSVP.Queue()
.push(function () { .push(function () {
return RSVP.all([ return RSVP.all([
gadget.getUrlParameter('portal_type'), gadget.getUrlParameter('portal_type'),
gadget.getUrlParameter('parent_relative_url'), gadget.getUrlParameter('parent_relative_url'),
gadget.getUrlParameter("action"), gadget.getUrlParameter("action")
gadget.declareGadget("gadget_officejs_common_util.html")
]); ]);
}) })
.push(function (result) { .push(function (result) {
...@@ -50,18 +49,13 @@ ...@@ -50,18 +49,13 @@
options.parent_relative_url = result[1]; options.parent_relative_url = result[1];
} }
action_reference = result[2]; action_reference = result[2];
gadget_util = result[3];
return gadget.getActionFormDefinition(action_reference); return gadget.getActionFormDefinition(action_reference);
}) })
.push(function (result) { .push(function (form_definition) {
form_definition = result;
return gadget_util.getFormInfo(form_definition);
})
.push(function (form_info) {
var fragment = document.createElement('div'), var fragment = document.createElement('div'),
action_gadget_url, action_gadget_url,
form_type = form_info[0], form_type = form_definition.form_type,
child_gadget_url = form_info[1], child_gadget_url = form_definition.child_gadget_url,
//an action form must have a GadgetField called //an action form must have a GadgetField called
//"gadget_field_new_action_js_script" //"gadget_field_new_action_js_script"
//this gadget will point the custom action gadget //this gadget will point the custom action gadget
...@@ -90,16 +84,24 @@ ...@@ -90,16 +84,24 @@
element: fragment element: fragment
}) })
.push(function (action_gadget) { .push(function (action_gadget) {
options.form_definition = form_definition;
return action_gadget.preRenderDocument(options); return action_gadget.preRenderDocument(options);
}) })
.push(function (doc) { .push(function (doc) {
state_options.doc = doc; state_options.doc = doc;
state_options.action_gadget_url = action_gadget_url; state_options.action_gadget_url = action_gadget_url;
return gadget.changeState(state_options); return gadget.changeState(state_options);
}, function (error) {
if (error.status === 404) {
return gadget.notifySubmitted({
message: "Error in action",
status: "error"
});
}
throw error;
}); });
} else {
return gadget.changeState(state_options);
} }
return gadget.changeState(state_options);
}); });
}) })
...@@ -129,38 +131,41 @@ ...@@ -129,38 +131,41 @@
//target_url = options[1], //target_url = options[1],
content_dict = options[2], content_dict = options[2],
fragment = document.createElement('div'), fragment = document.createElement('div'),
jio_key; submit_dict;
if (gadget.state.valid_action) { if (gadget.state.valid_action) {
gadget.element.appendChild(fragment); return gadget.notifySubmitting()
return gadget.declareGadget(gadget.state.action_gadget_url, { .push(function () {
scope: "action_field", gadget.element.appendChild(fragment);
element: fragment return gadget.declareGadget(gadget.state.action_gadget_url, {
}) scope: "action_field",
element: fragment
});
})
.push(function (action_gadget) { .push(function (action_gadget) {
return action_gadget.handleSubmit(content_dict, gadget.state); return action_gadget.handleSubmit(content_dict, gadget.state);
}) })
.push(function (id) { .push(function (submit_result) {
jio_key = id; submit_dict = submit_result;
return gadget.notifySubmitting(); //submit_dict must contain:
//notify: options_dict for notifySubmitted
//redirect: options_dict for redirect
return gadget.notifySubmitted(submit_dict.notify);
}) })
.push(function () { .push(function () {
return gadget.notifySubmitted({message: 'Data Updated', return gadget.redirect(submit_dict.redirect);
status: 'success'}); }, function (error) {
}) if (!(error instanceof RSVP.CancellationError)) {
.push(function () { return gadget.notifySubmitted({
return gadget.redirect({ message: "Action Failed",
command: 'display', status: "error"
options: { });
jio_key: jio_key, }
editable: gadget.state.view === "edit" throw error;
}
});
}); });
} else {
return gadget.notifySubmitted(
{message: 'Could not perform this action: configuration error',
status: 'fail'});
} }
return gadget.notifySubmitted(
{message: 'Could not perform this action: configuration error',
status: 'fail'});
}); });
}(window, document, rJS, RSVP)); }(window, document, rJS, RSVP));
...@@ -269,7 +269,7 @@ ...@@ -269,7 +269,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>977.6150.49752.57668</string> </value> <value> <string>978.31411.12952.38502</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -287,7 +287,7 @@ ...@@ -287,7 +287,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1563205637.32</float> <float>1568651040.61</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -209,6 +209,63 @@ gadget_button_maximize.js\n ...@@ -209,6 +209,63 @@ gadget_button_maximize.js\n
gadget_officejs_setting.js\n gadget_officejs_setting.js\n
gadget_officejs_setting.html\n gadget_officejs_setting.html\n
\n \n
#new approach (storage hateoas requests)\n
gadget_erp5_pt_form_view_editable.html\n
gadget_erp5_pt_form_view_editable.js\n
gadget_erp5_pt_form_dialog.html\n
gadget_erp5_pt_form_dialog.js\n
gadget_erp5_field_list.html\n
gadget_erp5_field_list.js\n
gadget_erp5_field_listbox.html\n
gadget_erp5_field_listbox.js\n
gadget_html5_select.html\n
gadget_html5_select.js\n
gadget_ojs_local_jio.html\n
gadget_ojs_local_jio.js\n
gadget_erp5_page_action_officejs.html\n
gadget_erp5_page_action_officejs.js\n
gadget_erp5_page_ojs_local_controller.html\n
gadget_erp5_page_ojs_local_controller.js\n
gadget_officejs_form_view.html\n
gadget_officejs_form_view.js\n
gadget_erp5_page_handle_action.html\n
gadget_erp5_page_handle_action.js\n
gadget_officejs_common_util.html\n
gadget_officejs_common_util.js\n
gadget_erp5_page_create_document.html\n
gadget_erp5_page_create_document.js\n
\n
#needed for appcachestorage sync\n
/\n
app/\n
gadget_officejs_pdf_viewer.configuration\n
gadget_officejs_bootloader.js\n
gadget_officejs_bootloader_presentation.html\n
gadget_officejs_bootloader_presentation.js\n
gadget_officejs_bootloader_presentation.css\n
gadget_officejs_bootloader_serviceworker.js\n
officejs_logo.png\n
jio_appcachestorage.js\n
jio_configuration_storage.js\n
\n
#configuration resources\n
\n
#hateoas_appcache/definition_view/BASE64(portal_types/Document Module)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL0RvY3VtZW50IE1vZHVsZQ==\n
#hateoas_appcache/definition_view/BASE64(portal_types/Document Module/pdf_viewer_view)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL0RvY3VtZW50IE1vZHVsZS9wZGZfdmlld2VyX3ZpZXc=\n
#hateoas_appcache/definition_view/BASE64(portal_types/PDF)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1BERg==\n
#hateoas_appcache/definition_view/BASE64(portal_types/PDF/pdf_viewer_view)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1BERi9wZGZfdmlld2VyX3ZpZXc=\n
\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_officejs_pdf_viewer/Base_viewNewContentDialogForPdfViewer)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfb2ZmaWNlanNfcGRmX3ZpZXdlci9CYXNlX3ZpZXdOZXdDb250ZW50RGlhbG9nRm9yUGRmVmlld2Vy\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_officejs_pdf_viewer/DocumentModule_viewDocumentListAsJioForPdfViewer)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfb2ZmaWNlanNfcGRmX3ZpZXdlci9Eb2N1bWVudE1vZHVsZV92aWV3RG9jdW1lbnRMaXN0QXNKaW9Gb3JQZGZWaWV3ZXI=\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_officejs_pdf_viewer/Document_viewAsPdfDocumentForPdfViewer)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfb2ZmaWNlanNfcGRmX3ZpZXdlci9Eb2N1bWVudF92aWV3QXNQZGZEb2N1bWVudEZvclBkZlZpZXdlcg==\n
\n
#pdf viewer\n #pdf viewer\n
gadget_officejs_pdf_viewer_router.html\n gadget_officejs_pdf_viewer_router.html\n
gadget_officejs_jio_pdf_view.html\n gadget_officejs_jio_pdf_view.html\n
...@@ -591,7 +648,7 @@ NETWORK:\n ...@@ -591,7 +648,7 @@ NETWORK:\n
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>973.23494.2134.9352</string> </value> <value> <string>977.59351.27865.44851</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -609,7 +666,7 @@ NETWORK:\n ...@@ -609,7 +666,7 @@ NETWORK:\n
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1549009793.99</float> <float>1567773436.57</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -14,10 +14,16 @@ ...@@ -14,10 +14,16 @@
</head> </head>
<body> <body>
<script data-renderjs-configuration="configuration_manifest" type="text/x-renderjs-configuration">gadget_officejs_pdf_viewer.configuration</script>
<script data-renderjs-configuration="portal_type" type="text/x-renderjs-configuration">PDF</script> <script data-renderjs-configuration="portal_type" type="text/x-renderjs-configuration">PDF</script>
<script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">document_module</script> <script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">document_module</script>
<script data-renderjs-configuration="document_title" type="text/x-renderjs-configuration">PDF</script> <script data-renderjs-configuration="parent_portal_type" type="text/x-renderjs-configuration">Document Module</script>
<script data-renderjs-configuration="document_title_plural" type="text/x-renderjs-configuration">PDFs</script> <script data-renderjs-configuration="portal_skin_folder" type="text/x-renderjs-configuration">erp5_officejs_pdf_viewer</script>
<script data-renderjs-configuration="app_actions" type="text/x-renderjs-configuration">('PDF | pdf_viewer_view', 'Document Module | pdf_viewer_view')</script>
<script data-renderjs-configuration="app_allowed_sub_types" type="text/x-renderjs-configuration">('Document Module | PDF',)</script>
<script data-renderjs-configuration="app_view_reference" type="text/x-renderjs-configuration">pdf_viewer_view</script>
<script data-renderjs-configuration="document_module_dict" type="text/x-renderjs-configuration">{"front_page": 1, "editable": 0, "hide_add_button": 0, "jump_button": 0, "fast_input_button": 0, "export_button": 0, "filter_action": 1, "panel_action": 1, "previous_next_button": 0, "history_previous_link": 0, "title": "PDFs", "hide_listbox_buttons": 1, "blob_type": "", "blob_create_object_url": 0}</script>
<script data-renderjs-configuration="pdf_dict" type="text/x-renderjs-configuration"> {"front_page": 0, "editable": 1, "hide_add_button": 0, "jump_button": 0, "fast_input_button": 0, "export_button": 0, "filter_action": 0, "panel_action": 1, "previous_next_button": 1, "history_previous_link": 1, "title": "PDF", "hide_listbox_buttons": 1, "blob_type": "application/pdf", "blob_create_object_url": 1}</script>
<script data-renderjs-configuration="erp5_attachment_synchro" type="text/x-renderjs-configuration">/{+id}/Base_downloadWithCors</script> <script data-renderjs-configuration="erp5_attachment_synchro" type="text/x-renderjs-configuration">/{+id}/Base_downloadWithCors</script>
<script data-renderjs-configuration="dropbox_app_key" type="text/x-renderjs-configuration">9g8nrxvhjgd5c6c</script> <script data-renderjs-configuration="dropbox_app_key" type="text/x-renderjs-configuration">9g8nrxvhjgd5c6c</script>
<div data-gadget-url="gadget_erp5_router.html" data-gadget-scope="erp5_router"></div> <div data-gadget-url="gadget_erp5_router.html" data-gadget-scope="erp5_router"></div>
......
...@@ -221,7 +221,7 @@ ...@@ -221,7 +221,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>vincent</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -235,7 +235,7 @@ ...@@ -235,7 +235,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>964.45561.47559.9591</string> </value> <value> <string>978.36795.39696.27238</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -253,7 +253,7 @@ ...@@ -253,7 +253,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1515684302.86</float> <float>1568973833.9</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -14,10 +14,16 @@ ...@@ -14,10 +14,16 @@
</head> </head>
<body> <body>
<script data-renderjs-configuration="configuration_manifest" type="text/x-renderjs-configuration">gadget_officejs_illustration.configuration</script>
<script data-renderjs-configuration="portal_type" type="text/x-renderjs-configuration">Web Illustration</script> <script data-renderjs-configuration="portal_type" type="text/x-renderjs-configuration">Web Illustration</script>
<script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">web_page_module</script> <script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">web_page_module</script>
<script data-renderjs-configuration="document_title" type="text/x-renderjs-configuration">Illustration</script> <script data-renderjs-configuration="parent_portal_type" type="text/x-renderjs-configuration">Web Page Module</script>
<script data-renderjs-configuration="document_title_plural" type="text/x-renderjs-configuration">Illustrations</script> <script data-renderjs-configuration="portal_skin_folder" type="text/x-renderjs-configuration">erp5_officejs_svg_editor</script>
<script data-renderjs-configuration="app_view_reference" type="text/x-renderjs-configuration">svg_editor_view</script>
<script data-renderjs-configuration="app_actions" type="text/x-renderjs-configuration">('Web Page Module | svg_editor_view', 'Web Illustration | svg_editor_view')</script>
<script data-renderjs-configuration="app_allowed_sub_types" type="text/x-renderjs-configuration">('Web Page Module | Web Illustration',)</script>
<script data-renderjs-configuration="web_page_module_dict" type="text/x-renderjs-configuration">{"front_page": 1, "editable": 0, "hide_add_button": 0, "jump_button": 0, "fast_input_button": 0, "export_button": 0, "filter_action": 1, "panel_action": 1, "previous_next_button": 0, "history_previous_link": 0, "title": "Illustrations", "hide_listbox_buttons": 1, "blob_type": "", "blob_create_object_url": 0}</script>
<script data-renderjs-configuration="web_illustration_dict" type="text/x-renderjs-configuration"> {"front_page": 0, "editable": 1, "hide_add_button": 0, "jump_button": 0, "fast_input_button": 0, "export_button": 0, "filter_action": 0, "panel_action": 1, "previous_next_button": 1, "history_previous_link": 1, "title": "Illustration", "hide_listbox_buttons": 1, "blob_type": "", "blob_create_object_url": 0}</script>
<script data-renderjs-configuration="erp5_attachment_synchro" type="text/x-renderjs-configuration"></script> <script data-renderjs-configuration="erp5_attachment_synchro" type="text/x-renderjs-configuration"></script>
<script data-renderjs-configuration="dropbox_app_key" type="text/x-renderjs-configuration">28fxd7m6ogxh6b5</script> <script data-renderjs-configuration="dropbox_app_key" type="text/x-renderjs-configuration">28fxd7m6ogxh6b5</script>
<div data-gadget-url="gadget_erp5_router.html" data-gadget-scope="erp5_router"></div> <div data-gadget-url="gadget_erp5_router.html" data-gadget-scope="erp5_router"></div>
......
...@@ -259,7 +259,7 @@ ...@@ -259,7 +259,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>vincent</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -273,7 +273,7 @@ ...@@ -273,7 +273,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>964.45561.47559.9591</string> </value> <value> <string>977.62238.19609.14984</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -291,7 +291,7 @@ ...@@ -291,7 +291,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1515684310.75</float> <float>1568973476.25</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -145,8 +145,6 @@ gadget_erp5_ojs_panel.html\n ...@@ -145,8 +145,6 @@ gadget_erp5_ojs_panel.html\n
gadget_erp5_ojs_panel.js\n gadget_erp5_ojs_panel.js\n
gadget_erp5_header.html\n gadget_erp5_header.html\n
gadget_erp5_header.js\n gadget_erp5_header.js\n
gadget_ojs_local_jio.html\n
gadget_ojs_local_jio.js\n
\n \n
gadget_erp5_page_ojs_configurator.html\n gadget_erp5_page_ojs_configurator.html\n
gadget_erp5_page_ojs_configurator.js\n gadget_erp5_page_ojs_configurator.js\n
...@@ -211,68 +209,6 @@ gadget_officejs_text_editor.json\n ...@@ -211,68 +209,6 @@ gadget_officejs_text_editor.json\n
officejs_logo_text_editor.png\n officejs_logo_text_editor.png\n
gadget_officejs_text_editor_router.html\n gadget_officejs_text_editor_router.html\n
\n \n
#new approach (storage hateoas requests)\n
gadget_erp5_pt_form_view_editable.html\n
gadget_erp5_pt_form_view_editable.js\n
gadget_erp5_pt_form_dialog.html\n
gadget_erp5_pt_form_dialog.js\n
gadget_erp5_field_list.html\n
gadget_erp5_field_list.js\n
gadget_erp5_field_listbox.html\n
gadget_erp5_field_listbox.js\n
gadget_html5_select.html\n
gadget_html5_select.js\n
gadget_erp5_page_action_officejs.html\n
gadget_erp5_page_action_officejs.js\n
gadget_erp5_page_ojs_local_controller.html\n
gadget_erp5_page_ojs_local_controller.js\n
gadget_officejs_form_view.html\n
gadget_officejs_form_view.js\n
gadget_erp5_page_handle_action.html\n
gadget_erp5_page_handle_action.js\n
gadget_officejs_common_util.html\n
gadget_officejs_common_util.js\n
gadget_erp5_page_create_document.html\n
gadget_erp5_page_create_document.js\n
\n
#needed for appcachestorage sync\n
/\n
app/\n
gadget_officejs_text_editor.configuration\n
gadget_officejs_bootloader.js\n
gadget_officejs_bootloader_presentation.html\n
gadget_officejs_bootloader_presentation.js\n
gadget_officejs_bootloader_presentation.css\n
gadget_officejs_bootloader_serviceworker.js\n
officejs_logo.png\n
jio_appcachestorage.js\n
\n
action_texteditor_clone.html\n
action_texteditor_clone.js\n
\n
#configuration resources\n
\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page Module)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlIE1vZHVsZQ==\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page Module/text_editor_view)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlIE1vZHVsZS90ZXh0X2VkaXRvcl92aWV3\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdl\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page/text_editor_view)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlL3RleHRfZWRpdG9yX3ZpZXc=\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page/text_editor_clone)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlL3RleHRfZWRpdG9yX2Nsb25l\n
\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_text_editor/Base_viewNewContentDialogForTextEditor)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvQmFzZV92aWV3TmV3Q29udGVudERpYWxvZ0ZvclRleHRFZGl0b3I=\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_text_editor/WebPageModule_viewWebPageListAsJioForTextEditor)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvV2ViUGFnZU1vZHVsZV92aWV3V2ViUGFnZUxpc3RBc0ppb0ZvclRleHRFZGl0b3I=\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_text_editor/WebPage_viewAsTextDocumentForTextEditor)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvV2ViUGFnZV92aWV3QXNUZXh0RG9jdW1lbnRGb3JUZXh0RWRpdG9y\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_text_editor/Base_cloneDocumentForTextEditor)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvQmFzZV9jbG9uZURvY3VtZW50Rm9yVGV4dEVkaXRvcg==\n
\n
\n
#Ckeditor\n #Ckeditor\n
ckeditor.gadget.html\n ckeditor.gadget.html\n
ckeditor.gadget.js\n ckeditor.gadget.js\n
...@@ -611,8 +547,71 @@ ckeditor/config.js\n ...@@ -611,8 +547,71 @@ ckeditor/config.js\n
ckeditor/ckeditor.js\n ckeditor/ckeditor.js\n
ckeditor/adapters/jquery.js\n ckeditor/adapters/jquery.js\n
\n \n
\n
#new officejs approach\n
gadget_erp5_pt_form_view_editable.html\n
gadget_erp5_pt_form_view_editable.js\n
gadget_erp5_pt_form_dialog.html\n
gadget_erp5_pt_form_dialog.js\n
gadget_erp5_field_list.html\n
gadget_erp5_field_list.js\n
gadget_erp5_field_listbox.html\n
gadget_erp5_field_listbox.js\n
gadget_html5_select.html\n
gadget_html5_select.js\n
gadget_ojs_local_jio.html\n
gadget_ojs_local_jio.js\n
gadget_erp5_page_action_officejs.html\n
gadget_erp5_page_action_officejs.js\n
gadget_erp5_page_ojs_local_controller.html\n
gadget_erp5_page_ojs_local_controller.js\n
gadget_officejs_form_view.html\n
gadget_officejs_form_view.js\n
gadget_erp5_page_handle_action.html\n
gadget_erp5_page_handle_action.js\n
gadget_officejs_common_util.html\n
gadget_officejs_common_util.js\n
gadget_erp5_page_create_document.html\n
gadget_erp5_page_create_document.js\n
\n
#needed for appcachestorage sync\n
/\n
app/\n
gadget_officejs_text_editor.configuration\n
gadget_officejs_bootloader.js\n
gadget_officejs_bootloader_presentation.html\n
gadget_officejs_bootloader_presentation.js\n
gadget_officejs_bootloader_presentation.css\n
gadget_officejs_bootloader_serviceworker.js\n
officejs_logo.png\n
jio_appcachestorage.js\n
jio_configuration_storage.js\n
\n
#app custom actions\n
action_texteditor_clone.html\n
action_texteditor_clone.js\n
\n
#app_configuration_resources\n
#CONFIGURATION ELEMENTS generated on Fri Sep 20 09:45:43 2019. Same as in configuration manifest\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlIE1vZHVsZQ==\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlIE1vZHVsZS90ZXh0X2VkaXRvcl92aWV3\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvV2ViUGFnZU1vZHVsZV92aWV3V2ViUGFnZUxpc3RBc0ppb0ZvclRleHRFZGl0b3I=\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdl\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlL3RleHRfZWRpdG9yX3ZpZXc=\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvV2ViUGFnZV92aWV3QXNUZXh0RG9jdW1lbnRGb3JUZXh0RWRpdG9y\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlL3RleHRfZWRpdG9yX2Nsb25l\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvQmFzZV9jbG9uZURvY3VtZW50Rm9yVGV4dEVkaXRvcg==\n
#/app_configuration_resources\n
\n
\n
\n
NETWORK:\n NETWORK:\n
*</string> </value> *\n
\n
\n
\n
\n
</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
...@@ -753,7 +752,7 @@ NETWORK:\n ...@@ -753,7 +752,7 @@ NETWORK:\n
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>977.40995.25945.24064</string> </value> <value> <string>978.31397.31451.12492</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -771,7 +770,7 @@ NETWORK:\n ...@@ -771,7 +770,7 @@ NETWORK:\n
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1565341519.15</float> <float>1568707377.29</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -109,31 +109,19 @@ ...@@ -109,31 +109,19 @@
</item> </item>
<item> <item>
<key> <string>text_content</string> </key> <key> <string>text_content</string> </key>
<value> <string>CACHE MANIFEST\n <value> <string>CONFIGURATION MANIFEST\n
# generated on Thu, 14 Jan 2019 11:55:33 +0000\n # generated on Fri Sep 20 09:45:43 2019\n
CACHE:\n CACHE:\n
\n \n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page Module)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlIE1vZHVsZQ==\n hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlIE1vZHVsZQ==\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page Module/text_editor_view)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlIE1vZHVsZS90ZXh0X2VkaXRvcl92aWV3\n hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlIE1vZHVsZS90ZXh0X2VkaXRvcl92aWV3\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page)\n hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvV2ViUGFnZU1vZHVsZV92aWV3V2ViUGFnZUxpc3RBc0ppb0ZvclRleHRFZGl0b3I=\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdl\n hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdl\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page/text_editor_view)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlL3RleHRfZWRpdG9yX3ZpZXc=\n hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlL3RleHRfZWRpdG9yX3ZpZXc=\n
#hateoas_appcache/definition_view/BASE64(portal_types/Web Page/text_editor_clone)\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlL3RleHRfZWRpdG9yX2Nsb25l\n
\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_text_editor/Base_viewNewContentDialogForTextEditor)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvQmFzZV92aWV3TmV3Q29udGVudERpYWxvZ0ZvclRleHRFZGl0b3I=\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_text_editor/WebPageModule_viewWebPageListAsJioForTextEditor)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvV2ViUGFnZU1vZHVsZV92aWV3V2ViUGFnZUxpc3RBc0ppb0ZvclRleHRFZGl0b3I=\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_text_editor/WebPage_viewAsTextDocumentForTextEditor)\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvV2ViUGFnZV92aWV3QXNUZXh0RG9jdW1lbnRGb3JUZXh0RWRpdG9y\n hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvV2ViUGFnZV92aWV3QXNUZXh0RG9jdW1lbnRGb3JUZXh0RWRpdG9y\n
#hateoas_appcache/definition_view/BASE64(portal_skins/erp5_text_editor/Base_cloneDocumentForTextEditor)\n hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1dlYiBQYWdlL3RleHRfZWRpdG9yX2Nsb25l\n
hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvQmFzZV9jbG9uZURvY3VtZW50Rm9yVGV4dEVkaXRvcg==\n hateoas_appcache/definition_view/cG9ydGFsX3NraW5zL2VycDVfdGV4dF9lZGl0b3IvQmFzZV9jbG9uZURvY3VtZW50Rm9yVGV4dEVkaXRvcg==\n
\n \n
\n
NETWORK:\n NETWORK:\n
*</string> </value> *</string> </value>
</item> </item>
...@@ -276,7 +264,7 @@ NETWORK:\n ...@@ -276,7 +264,7 @@ NETWORK:\n
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>977.41790.42136.10513</string> </value> <value> <string>977.56362.16233.35328</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -294,7 +282,7 @@ NETWORK:\n ...@@ -294,7 +282,7 @@ NETWORK:\n
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1565341511.13</float> <float>1566219739.99</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -14,21 +14,16 @@ ...@@ -14,21 +14,16 @@
</head> </head>
<body> <body>
<script data-renderjs-configuration="configuration_manifest" type="text/x-renderjs-configuration">gadget_officejs_text_editor.configuration</script>
<script data-renderjs-configuration="portal_type" type="text/x-renderjs-configuration">Web Page</script> <script data-renderjs-configuration="portal_type" type="text/x-renderjs-configuration">Web Page</script>
<script data-renderjs-configuration="document_title" type="text/x-renderjs-configuration">Text Document</script>
<script data-renderjs-configuration="document_title_plural" type="text/x-renderjs-configuration">Text Documents</script>
<script data-renderjs-configuration="parent_portal_type" type="text/x-renderjs-configuration">Web Page Module</script> <script data-renderjs-configuration="parent_portal_type" type="text/x-renderjs-configuration">Web Page Module</script>
<script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">web_page_module</script> <script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">web_page_module</script>
<script data-renderjs-configuration="hide_listbox_buttons" type="text/x-renderjs-configuration">1</script>
<script data-renderjs-configuration="documents_editable" type="text/x-renderjs-configuration">1</script>
<script data-renderjs-configuration="portal_skin_folder" type="text/x-renderjs-configuration">erp5_text_editor</script> <script data-renderjs-configuration="portal_skin_folder" type="text/x-renderjs-configuration">erp5_text_editor</script>
<!-- TODO: somehow (a generic action?) get the path string:${object_url}/Base_viewNewContentDialogForTextEditor. For now it's in new_content_action -->
<script data-renderjs-configuration="new_content_action" type="text/x-renderjs-configuration">portal_skins/erp5_text_editor/Base_viewNewContentDialogForTextEditor</script>
<script data-renderjs-configuration="app_view_reference" type="text/x-renderjs-configuration">text_editor_view</script> <script data-renderjs-configuration="app_view_reference" type="text/x-renderjs-configuration">text_editor_view</script>
<script data-renderjs-configuration="app_actions" type="text/x-renderjs-configuration">('Web Page | text_editor_view', 'Web Page | text_editor_clone')</script> <script data-renderjs-configuration="app_actions" type="text/x-renderjs-configuration">('Web Page | text_editor_view', 'Web Page | text_editor_clone', 'Web Page Module | text_editor_view')</script>
<script data-renderjs-configuration="app_allowed_sub_types" type="text/x-renderjs-configuration">('Web Page Module | Web Page',)</script> <script data-renderjs-configuration="app_allowed_sub_types" type="text/x-renderjs-configuration">('Web Page Module | Web Page',)</script>
<script data-renderjs-configuration="hide_header_add_button" type="text/x-renderjs-configuration">0</script> <script data-renderjs-configuration="web_page_module_dict" type="text/x-renderjs-configuration">{"front_page": 1, "upload_button": 0, "download_button": 0, "editable": 0, "hide_add_button": 0, "jump_button": 0, "fast_input_button": 0, "export_button": 0, "filter_action": 1, "panel_action": 1, "previous_next_button": 0, "history_previous_link": 0, "title": "Text Documents", "hide_listbox_buttons": 1, "blob_type": "", "blob_create_object_url": 0}</script>
<script data-renderjs-configuration="header_jump_button" type="text/x-renderjs-configuration">0</script> <script data-renderjs-configuration="web_page_dict" type="text/x-renderjs-configuration"> {"front_page": 0, "upload_button": 0, "download_button": 0, "editable": 1, "hide_add_button": 0, "jump_button": 0, "fast_input_button": 0, "export_button": 0, "filter_action": 0, "panel_action": 1, "previous_next_button": 1, "history_previous_link": 1, "title": "Text Document", "hide_listbox_buttons": 1, "blob_type": "", "blob_create_object_url": 0}</script>
<script data-renderjs-configuration="erp5_attachment_synchro" type="text/x-renderjs-configuration"></script> <script data-renderjs-configuration="erp5_attachment_synchro" type="text/x-renderjs-configuration"></script>
<script data-renderjs-configuration="dropbox_app_key" type="text/x-renderjs-configuration">n692ixxhyg9zhqs</script> <script data-renderjs-configuration="dropbox_app_key" type="text/x-renderjs-configuration">n692ixxhyg9zhqs</script>
<div data-gadget-url="gadget_erp5_router.html" data-gadget-scope="erp5_router"></div> <div data-gadget-url="gadget_erp5_router.html" data-gadget-scope="erp5_router"></div>
......
...@@ -277,7 +277,7 @@ ...@@ -277,7 +277,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>977.8695.30374.7765</string> </value> <value> <string>978.36776.33713.12509</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -295,7 +295,7 @@ ...@@ -295,7 +295,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1563367353.31</float> <float>1568972733.17</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -369,6 +369,16 @@ ...@@ -369,6 +369,16 @@
<value> <string>string</string> </value> <value> <string>string</string> </value>
</item> </item>
</dictionary> </dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>configuration_app_settings</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -407,6 +417,10 @@ ...@@ -407,6 +417,10 @@
</tuple> </tuple>
</value> </value>
</item> </item>
<item>
<key> <string>configuration_app_settings</string> </key>
<value> <string>roque5</string> </value>
</item>
<item> <item>
<key> <string>configuration_application_title</string> </key> <key> <string>configuration_application_title</string> </key>
<value> <string>Illustration Editor</string> </value> <value> <string>Illustration Editor</string> </value>
...@@ -732,7 +746,7 @@ ...@@ -732,7 +746,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>973.33482.4166.8669</string> </value> <value> <string>975.50798.33418.15411</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -750,7 +764,7 @@ ...@@ -750,7 +764,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1549644533.99</float> <float>1566301713.02</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -299,6 +299,26 @@ ...@@ -299,6 +299,26 @@
<value> <string>string</string> </value> <value> <string>string</string> </value>
</item> </item>
</dictionary> </dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>configuration_app_configuration</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>configuration_hateoas_appcache</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -317,6 +337,10 @@ ...@@ -317,6 +337,10 @@
</tuple> </tuple>
</value> </value>
</item> </item>
<item>
<key> <string>configuration_app_configuration</string> </key>
<value> <string>gadget_officejs_codemirror.configuration</string> </value>
</item>
<item> <item>
<key> <string>configuration_application_title</string> </key> <key> <string>configuration_application_title</string> </key>
<value> <string>OfficeJS Code Mirror Editor</string> </value> <value> <string>OfficeJS Code Mirror Editor</string> </value>
...@@ -327,7 +351,7 @@ ...@@ -327,7 +351,7 @@
</item> </item>
<item> <item>
<key> <string>configuration_default_jio_document_page_gadget_url</string> </key> <key> <string>configuration_default_jio_document_page_gadget_url</string> </key>
<value> <string>ojs_controller</string> </value> <value> <string>ojs_local_controller</string> </value>
</item> </item>
<item> <item>
<key> <string>configuration_default_view_action_reference</string> </key> <key> <string>configuration_default_view_action_reference</string> </key>
...@@ -335,11 +359,17 @@ ...@@ -335,11 +359,17 @@
</item> </item>
<item> <item>
<key> <string>configuration_frontpage_gadget_url</string> </key> <key> <string>configuration_frontpage_gadget_url</string> </key>
<value> <string>ojs_document_list</string> </value> <value> <string>ojs_local_controller</string> </value>
</item>
<item>
<key> <string>configuration_hateoas_appcache</string> </key>
<value> <string>hateoas_appcache</string> </value>
</item> </item>
<item> <item>
<key> <string>configuration_hateoas_url</string> </key> <key> <string>configuration_hateoas_url</string> </key>
<value> <string>../hateoas/</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>configuration_header_gadget_url</string> </key> <key> <string>configuration_header_gadget_url</string> </key>
...@@ -347,7 +377,7 @@ ...@@ -347,7 +377,7 @@
</item> </item>
<item> <item>
<key> <string>configuration_jio_gadget_url</string> </key> <key> <string>configuration_jio_gadget_url</string> </key>
<value> <string>gadget_ojs_jio.html</string> </value> <value> <string>gadget_ojs_local_jio.html</string> </value>
</item> </item>
<item> <item>
<key> <string>configuration_manifest_url</string> </key> <key> <string>configuration_manifest_url</string> </key>
...@@ -606,7 +636,7 @@ ...@@ -606,7 +636,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>970.26997.33546.6348</string> </value> <value> <string>977.57948.60658.597</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -624,7 +654,7 @@ ...@@ -624,7 +654,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1537779354.88</float> <float>1568974123.16</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -299,6 +299,26 @@ ...@@ -299,6 +299,26 @@
<value> <string>string</string> </value> <value> <string>string</string> </value>
</item> </item>
</dictionary> </dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>configuration_app_configuration</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>configuration_hateoas_appcache</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -317,6 +337,10 @@ ...@@ -317,6 +337,10 @@
</tuple> </tuple>
</value> </value>
</item> </item>
<item>
<key> <string>configuration_app_configuration</string> </key>
<value> <string>gadget_officejs_pdf_viewer.configuration</string> </value>
</item>
<item> <item>
<key> <string>configuration_application_title</string> </key> <key> <string>configuration_application_title</string> </key>
<value> <string>Office JS PDF Viewer</string> </value> <value> <string>Office JS PDF Viewer</string> </value>
...@@ -327,7 +351,7 @@ ...@@ -327,7 +351,7 @@
</item> </item>
<item> <item>
<key> <string>configuration_default_jio_document_page_gadget_url</string> </key> <key> <string>configuration_default_jio_document_page_gadget_url</string> </key>
<value> <string>ojs_controller</string> </value> <value> <string>ojs_local_controller</string> </value>
</item> </item>
<item> <item>
<key> <string>configuration_default_view_action_reference</string> </key> <key> <string>configuration_default_view_action_reference</string> </key>
...@@ -335,11 +359,17 @@ ...@@ -335,11 +359,17 @@
</item> </item>
<item> <item>
<key> <string>configuration_frontpage_gadget_url</string> </key> <key> <string>configuration_frontpage_gadget_url</string> </key>
<value> <string>ojs_document_list</string> </value> <value> <string>ojs_local_controller</string> </value>
</item>
<item>
<key> <string>configuration_hateoas_appcache</string> </key>
<value> <string>hateoas_appcache</string> </value>
</item> </item>
<item> <item>
<key> <string>configuration_hateoas_url</string> </key> <key> <string>configuration_hateoas_url</string> </key>
<value> <string>hateoas/</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>configuration_header_gadget_url</string> </key> <key> <string>configuration_header_gadget_url</string> </key>
...@@ -347,7 +377,7 @@ ...@@ -347,7 +377,7 @@
</item> </item>
<item> <item>
<key> <string>configuration_jio_gadget_url</string> </key> <key> <string>configuration_jio_gadget_url</string> </key>
<value> <string>gadget_ojs_jio.html</string> </value> <value> <string>gadget_ojs_local_jio.html</string> </value>
</item> </item>
<item> <item>
<key> <string>configuration_manifest_url</string> </key> <key> <string>configuration_manifest_url</string> </key>
...@@ -572,7 +602,7 @@ ...@@ -572,7 +602,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>970.26734.14597.65382</string> </value> <value> <string>977.59326.56404.20172</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -590,7 +620,7 @@ ...@@ -590,7 +620,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1537948313.3</float> <float>1568973873.25</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -299,6 +299,26 @@ ...@@ -299,6 +299,26 @@
<value> <string>string</string> </value> <value> <string>string</string> </value>
</item> </item>
</dictionary> </dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>configuration_app_configuration</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>configuration_hateoas_appcache</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -317,6 +337,10 @@ ...@@ -317,6 +337,10 @@
</tuple> </tuple>
</value> </value>
</item> </item>
<item>
<key> <string>configuration_app_configuration</string> </key>
<value> <string>gadget_officejs_illustration.configuration</string> </value>
</item>
<item> <item>
<key> <string>configuration_application_title</string> </key> <key> <string>configuration_application_title</string> </key>
<value> <string>Office JS SVG Editor</string> </value> <value> <string>Office JS SVG Editor</string> </value>
...@@ -327,7 +351,7 @@ ...@@ -327,7 +351,7 @@
</item> </item>
<item> <item>
<key> <string>configuration_default_jio_document_page_gadget_url</string> </key> <key> <string>configuration_default_jio_document_page_gadget_url</string> </key>
<value> <string>ojs_controller</string> </value> <value> <string>ojs_local_controller</string> </value>
</item> </item>
<item> <item>
<key> <string>configuration_default_view_action_reference</string> </key> <key> <string>configuration_default_view_action_reference</string> </key>
...@@ -335,11 +359,17 @@ ...@@ -335,11 +359,17 @@
</item> </item>
<item> <item>
<key> <string>configuration_frontpage_gadget_url</string> </key> <key> <string>configuration_frontpage_gadget_url</string> </key>
<value> <string>ojs_document_list</string> </value> <value> <string>ojs_local_controller</string> </value>
</item>
<item>
<key> <string>configuration_hateoas_appcache</string> </key>
<value> <string>hateoas_appcache</string> </value>
</item> </item>
<item> <item>
<key> <string>configuration_hateoas_url</string> </key> <key> <string>configuration_hateoas_url</string> </key>
<value> <string>hateoas/</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>configuration_header_gadget_url</string> </key> <key> <string>configuration_header_gadget_url</string> </key>
...@@ -347,7 +377,7 @@ ...@@ -347,7 +377,7 @@
</item> </item>
<item> <item>
<key> <string>configuration_jio_gadget_url</string> </key> <key> <string>configuration_jio_gadget_url</string> </key>
<value> <string>gadget_ojs_jio.html</string> </value> <value> <string>gadget_ojs_local_jio.html</string> </value>
</item> </item>
<item> <item>
<key> <string>configuration_manifest_url</string> </key> <key> <string>configuration_manifest_url</string> </key>
...@@ -608,7 +638,7 @@ ...@@ -608,7 +638,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>970.26734.14597.65382</string> </value> <value> <string>977.57623.45105.27648</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -626,7 +656,7 @@ ...@@ -626,7 +656,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1537889644.7</float> <float>1568973506.92</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -732,7 +732,7 @@ ...@@ -732,7 +732,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>975.59928.32228.31914</string> </value> <value> <string>978.15061.532.21862</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -750,7 +750,7 @@ ...@@ -750,7 +750,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1562075278.62</float> <float>1567669976.16</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -331,7 +331,7 @@ ...@@ -331,7 +331,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>977.37785.31847.31180</string> </value> <value> <string>977.41795.8516.21060</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -349,7 +349,7 @@ ...@@ -349,7 +349,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1565341627.79</float> <float>1567669976.15</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -3,6 +3,22 @@ ...@@ -3,6 +3,22 @@
<skin_folder>erp5_hal_json_style</skin_folder> <skin_folder>erp5_hal_json_style</skin_folder>
<skin_selection>AppCache</skin_selection> <skin_selection>AppCache</skin_selection>
</skin_folder_selection> </skin_folder_selection>
<skin_folder_selection>
<skin_folder>erp5_officejs_codemirror</skin_folder>
<skin_selection>AppCache,Hal,RJS,RedirectAssist,View</skin_selection>
</skin_folder_selection>
<skin_folder_selection>
<skin_folder>erp5_officejs_common</skin_folder>
<skin_selection>AppCache,Hal,RJS,RedirectAssist,View</skin_selection>
</skin_folder_selection>
<skin_folder_selection>
<skin_folder>erp5_officejs_pdf_viewer</skin_folder>
<skin_selection>AppCache,Hal,RJS,RedirectAssist,View</skin_selection>
</skin_folder_selection>
<skin_folder_selection>
<skin_folder>erp5_officejs_svg_editor</skin_folder>
<skin_selection>AppCache,Hal,RJS,RedirectAssist,View</skin_selection>
</skin_folder_selection>
<skin_folder_selection> <skin_folder_selection>
<skin_folder>erp5_text_editor</skin_folder> <skin_folder>erp5_text_editor</skin_folder>
<skin_selection>AppCache,Hal,RJS,RedirectAssist,View</skin_selection> <skin_selection>AppCache,Hal,RJS,RedirectAssist,View</skin_selection>
...@@ -19,4 +35,4 @@ ...@@ -19,4 +35,4 @@
<skin_folder>erp5_xhtml_style</skin_folder> <skin_folder>erp5_xhtml_style</skin_folder>
<skin_selection>AppCache</skin_selection> <skin_selection>AppCache</skin_selection>
</skin_folder_selection> </skin_folder_selection>
</registered_skin_selection> </registered_skin_selection>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>business_template_skin_layer_priority</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>float</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>business_template_skin_layer_priority</string> </key>
<value> <float>42.0</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_officejs_codemirror</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
<string>editable</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_effective_date</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_date</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewWebFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Modification Date</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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