Commit 2c92a181 authored by Romain Courteaud's avatar Romain Courteaud

[erp5_web_renderjs_ui] Drop jquery/jquerymobile dependencies

Implement an ad-hoc responsive CSS for ERP5.
This CSS is generated with the LESS compiler (http://less2css.org/).

Create new ERP5 launcher, to break compatibility with officejs.
OfficeJS apps will be migrated one by one to the new CSS.
parent aa32859f
......@@ -108,7 +108,7 @@
<value> <string encoding="cdata"><![CDATA[
CACHE MANIFEST\n
# generated on Tue, 12 July 2016 12:00:00 GMT\n
# generated on Tue, 24 Jun 2016 16:00:00 GMT .\n
# XXX + fonts\n
# images/ajax-loader.gif\n
CACHE:\n
......@@ -119,8 +119,8 @@ https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.wof
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.ttf?v=4.2.0\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular\n
URI.js\n
erp5_launcher.js\n
gadget_erp5.css\n
erp5_launcher_nojqm.js\n
gadget_erp5_nojqm.css\n
gadget_erp5_editor_panel.html\n
gadget_erp5_editor_panel.js\n
gadget_erp5_field_checkbox.html\n
......@@ -167,7 +167,6 @@ gadget_erp5_header.html\n
gadget_erp5_header.js\n
gadget_erp5_jio.html\n
gadget_erp5_jio.js\n
gadget_erp5_latest.css\n
gadget_erp5_page_action.html\n
gadget_erp5_page_action.js\n
gadget_erp5_page_form.html\n
......@@ -192,7 +191,6 @@ gadget_erp5_page_worklist.html\n
gadget_erp5_page_worklist.js\n
gadget_erp5_panel.html\n
gadget_erp5_panel.js\n
gadget_erp5_panel_configuration.html\n
gadget_erp5_pt_form_dialog.html\n
gadget_erp5_pt_form_dialog.js\n
gadget_erp5_pt_form_list.html\n
......@@ -223,9 +221,6 @@ gadget_translation_data.js\n
handlebars.js\n
i18next.js\n
jiodev.js\n
jquery.js\n
jquerymobile.css\n
jquerymobile.js\n
renderjs.js\n
rsvp.js\n
NETWORK:\n
......@@ -360,7 +355,7 @@ NETWORK:\n
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>952.33120.45206.6075</string> </value>
<value> <string>952.54415.21673.50380</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -378,7 +373,7 @@ NETWORK:\n
</tuple>
<state>
<tuple>
<float>1468331792.72</float>
<float>1469697772.13</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -99,7 +99,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>RenderJS Gadget ERP5 CSS</string> </value>
<value> <string>RenderJS Gadget OfficeJS CSS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
......@@ -224,7 +224,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>952.4548.25239.8192</string> </value>
<value> <string>952.55927.14574.22152</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -242,7 +242,7 @@
</tuple>
<state>
<tuple>
<float>1466779724.5</float>
<float>1469701062.53</float>
<string>UTC</string>
</tuple>
</state>
......
/*jslint indent: 2, maxerr: 3, nomen: true */
/*global window, rJS, RSVP, $ */
(function (window, rJS, RSVP, $) {
/*global window, rJS, RSVP */
(function (window, rJS, RSVP) {
"use strict";
rJS(window)
/////////////////////////////////////////////////////////////////
......@@ -15,20 +15,12 @@
.push(function (element) {
g.props.element = element;
g.props.container = element.querySelector(".jqm-navmenu-panel");
g.props.jelement = $(g.props.container);
});
})
.ready(function (g) {
g.props.jelement.panel({
display: "overlay",
position: "right",
theme: "c"
});
})
.allowPublicAcquisition('trigger', function () {
return this.props.jelement.panel("toggle");
this.props.element.classList.toggle('visible');
// return this.props.jelement.panel("toggle");
})
//////////////////////////////////////////////
// acquired method
......@@ -36,10 +28,12 @@
//local method
.declareMethod('close', function () {
var container = this.props.container;
this.props.jelement.panel("close");
while (container.firstChild) {
container.removeChild(container.firstChild);
}
if (this.props.element.classList.contains('visible')) {
this.props.element.classList.remove('visible');
}
})
.declareMethod('render', function (url, options) {
var gadget = this,
......@@ -63,10 +57,9 @@
.push(function (result) {
var fragment = result[1];
gadget.props.container.appendChild(fragment);
gadget.props.jelement.trigger("create");
gadget.props.jelement.panel("toggle");
gadget.props.element.classList.toggle('visible');
});
}
gadget.props.jelement.panel("toggle");
gadget.props.element.classList.toggle('visible');
});
}(window, rJS, RSVP, $));
\ No newline at end of file
}(window, rJS, RSVP));
\ No newline at end of file
......@@ -230,7 +230,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>946.64723.57071.20616</string> </value>
<value> <string>952.10013.10460.65075</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>1447071678.82</float>
<float>1467031522.89</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -75,7 +75,7 @@
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>erp5_launcher.html</string> </value>
<value> <string>officejs_launcher.html</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -105,7 +105,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ERP5 Application Launcher</string> </value>
<value> <string>OfficeJS Application Launcher</string> </value>
</item>
<item>
<key> <string>version</string> </key>
......@@ -236,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>946.64733.4438.11997</string> </value>
<value> <string>952.55927.14574.22152</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -254,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1447067588.44</float>
<float>1469701010.97</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -99,7 +99,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ERP5 Launcher JS</string> </value>
<value> <string>OfficeJS Launcher JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
......@@ -230,7 +230,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>950.1266.16388.62907</string> </value>
<value> <string>952.55927.14574.22152</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>1458731136.97</float>
<float>1469701036.4</float>
<string>UTC</string>
</tuple>
</state>
......
<!DOCTYPE html>
<html manifest="${manifest_url}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="favicon.ico">
<title>${application_title}</title>
<link href="//netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="gadget_erp5_nojqm.css">
<script data-renderjs-configuration="application_title" type="text/x-renderjs-configuration">${application_title}</script>
<script data-renderjs-configuration="panel_gadget" type="text/x-renderjs-configuration">${panel_gadget}</script>
<script data-renderjs-configuration="action_view" type="text/x-renderjs-configuration">${action_view}</script>
<script data-renderjs-configuration="default_view_reference" type="text/x-renderjs-configuration">${default_view_reference}</script>
<script data-renderjs-configuration="hateoas_url" type="text/x-renderjs-configuration">${hateoas_url}</script>
<script data-renderjs-configuration="frontpage_gadget" type="text/x-renderjs-configuration">${frontpage_gadget}</script>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_global.js" ></script>
<script src="erp5_launcher_nojqm.js"></script>
</head>
<body>
<div data-role="page">
<div data-gadget-url="gadget_jio.html"
data-gadget-scope="setting_gadget"
data-gadget-sandbox="public"></div>
<div data-gadget-url="${router_gadget}"
data-gadget-scope="router"
data-gadget-sandbox="public"></div>
<div data-gadget-url="${translation_gadget}"
data-gadget-scope="translation_gadget"
data-gadget-sandbox="public"></div>
<div data-gadget-url="${header_gadget}"
data-gadget-scope="header"
data-gadget-sandbox="public"></div>
<div data-gadget-url="${jio_gadget}"
data-gadget-scope="jio_gadget"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_erp5_editor_panel.html"
data-gadget-scope="editor_panel"
data-gadget-sandbox="public"></div>
<div data-gadget-url="${panel_gadget}"
data-gadget-scope="panel"
data-gadget-sandbox="public"></div>
<div role="main" class="ui-content gadget-content"></div>
</div>
</body>
</html>
\ No newline at end of file
......@@ -75,17 +75,15 @@
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_erp5_panel_configuration.html</string> </value>
<value> <string>erp5_launcher.html</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
<value> <string>Starting Point</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>rjs_gadget_erp5_panel_configuration_html</string> </value>
<value> <string>rjs_gadget_erp5_launcher_html</string> </value>
</item>
<item>
<key> <string>language</string> </key>
......@@ -101,9 +99,13 @@
<none/>
</value>
</item>
<item>
<key> <string>text_content_substitution_mapping_method_id</string> </key>
<value> <string>WebPage_getRenderJSSubstitutionMappingDict</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Gadget ERP5 Panel Configuration</string> </value>
<value> <string>ERP5 Application Launcher</string> </value>
</item>
<item>
<key> <string>version</string> </key>
......@@ -167,7 +169,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>romain</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -189,8 +191,8 @@
</tuple>
<state>
<tuple>
<float>1429254840.51</float>
<string>GMT</string>
<float>1469697538.23</float>
<string>UTC</string>
</tuple>
</state>
</object>
......@@ -220,7 +222,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>sven</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -234,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>942.62057.14260.21691</string> </value>
<value> <string>952.55888.33090.2730</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -252,8 +254,8 @@
</tuple>
<state>
<tuple>
<float>1431351348.13</float>
<string>GMT</string>
<float>1469697640.18</float>
<string>UTC</string>
</tuple>
</state>
</object>
......@@ -279,7 +281,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>sven</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -309,8 +311,8 @@
</tuple>
<state>
<tuple>
<float>1429106531.32</float>
<string>GMT</string>
<float>1469697401.23</float>
<string>UTC</string>
</tuple>
</state>
</object>
......
......@@ -24,6 +24,7 @@
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
......@@ -42,6 +43,8 @@
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
......@@ -68,7 +71,7 @@
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_erp5_panel_configuration.js</string> </value>
<value> <string>erp5_launcher_nojqm.js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -78,7 +81,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>rjs_gadget_erp5_panel_configuration_js</string> </value>
<value> <string>rjs_gadget_erp5_launcher_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
......@@ -96,7 +99,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Gadget ERP5 Panel Configuration JS</string> </value>
<value> <string>ERP5 Launcher JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
......@@ -156,11 +159,11 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>sven</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -182,8 +185,8 @@
</tuple>
<state>
<tuple>
<float>1429106462.69</float>
<string>GMT</string>
<float>1469697528.36</float>
<string>UTC</string>
</tuple>
</state>
</object>
......@@ -191,7 +194,7 @@
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
<value> <string>published_alive</string> </value>
</item>
</dictionary>
</list>
......@@ -213,7 +216,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>sven</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -227,7 +230,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>942.62105.59106.27904</string> </value>
<value> <string>952.55886.52877.43281</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -245,8 +248,8 @@
</tuple>
<state>
<tuple>
<float>1431354245.91</float>
<string>GMT</string>
<float>1469697595.92</float>
<string>UTC</string>
</tuple>
</state>
</object>
......@@ -272,7 +275,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>sven</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -302,8 +305,8 @@
</tuple>
<state>
<tuple>
<float>1429105919.74</float>
<string>GMT</string>
<float>1469697401.26</float>
<string>UTC</string>
</tuple>
</state>
</object>
......
......@@ -136,8 +136,8 @@
<div class="ui-controlgroup ui-controlgroup-horizontal ui-corner-all ui-paging-menu">
<div class="ui-controlgroup-controls">
<a class="{{previous_classname}}" data-i18n="Previous" href="{{previous_url}}">Previous</a>
<span class="ui-btn ui-disabled" data-i18n="{{record}}">{{record}}</span>
<a class="{{next_classname}}" data-i18n="Next" href="{{next_url}}">Next</a>
<span class="ui-btn ui-disabled" data-i18n="{{record}}">{{record}}</span>
</div>
</div>
</th>
......@@ -147,17 +147,17 @@
<script id="listbox-template" type="text/x-handlebars-template">
<div class="ui-table-header ui-header ui-bar-c ui-corner-all">
<div class="ui-controlgroup ui-controlgroup-horizontal ui-btn-left">
<div class="ui-controlgroup-controls">
<h1 data-i18n="{{title}}" class="ui-title ui-override-theme">{{title}}</h1>
<!--div class="ui-controlgroup ui-controlgroup-horizontal ui-btn-left">
<div class="ui-controlgroup-controls"-->
<button data-rel="hide" data-i18n="Hide Rows" name="Hide" type="submit" class="submit responsive ui-last-child ui-btn ui-icon-eye ui-btn-icon-left {{hide_class}}">Hide Rows</button>
</div>
<!--/div>
</div>
<h1 data-i18n="{{title}}" class="ui-title ui-override-theme">{{title}}</h1>
<div class="ui-controlgroup ui-controlgroup-horizontal ui-btn-right">
<div class="ui-controlgroup-controls">
<div class="ui-controlgroup-controls"-->
<button data-rel="Sort" data-i18n="Sort" name="Sort" type="submit" class="submit responsive ui-last-child ui-btn ui-icon-sort-amount-desc ui-btn-icon-left {{hide_sort}}">Sort</button>
</div>
</div>
<!--/div>
</div-->
</div>
<table class="ui-responsive ui-body-c ui-table-inset">
<thead class="ui-bar-inherit thead"></thead>
......
......@@ -234,7 +234,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>951.48046.6494.25736</string> </value>
<value> <string>952.10020.33938.42018</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>1468328152.64</float>
<float>1467032548.63</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -292,9 +292,9 @@
tmp = gadget.props.sort_list[j];
if (tmp[0] === gadget.props.field_json.column_list[i][0]) {
if (tmp[1] === "ascending") {
class_value = "ui-icon-arrow-up";
class_value = "ui-icon ui-icon-arrow-up";
} else {
class_value = "ui-icon-arrow-down";
class_value = "ui-icon ui-icon-arrow-down";
}
break;
}
......
......@@ -236,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>952.4464.6775.58641</string> </value>
<value> <string>952.33120.49574.44270</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -254,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1466702297.15</float>
<float>1468331648.73</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -16,9 +16,6 @@
<body>
<article class="ui-content ui-body-c">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c" data-i18n="Logout">Logout</h3>
</section>
<section class="ui-body-c ui-content-section">