Commit 5056db75 authored by Sven Franck's avatar Sven Franck

first commit (old renderjs)

parents
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title></title>
<!-- <link rel="stylesheet" href="js/main.css"> -->
<script data-main="js/main.js" src="js/libs/require/require.js"></script>
</head>
<body>
<div data-role="page" id="basket" data-gadget="modules/basket/basket.html" data-gadget-module="basket"></div>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
/* global CSS */
@media (max-width: 40em) {
/* convert button with text to icon-only */
/*
.ui-controlgroup .morph {
width: auto;
height: 100%;
}
.ui-controlgroup .morph .ui-btn-inner {
height: 20px;
padding: .6em 20px .6em 20px;
}
.ui-controlgroup-horizontal .morph .ui-btn-inner {
width: 11px;
}
.ui-header .ui-controlgroup .morph .ui-btn-inner,
.ui-footer .ui-controlgroup .morph .ui-btn-inner {
height: 16px;
padding: .55em 11px .5em 11px;
}
*/
.morph.ui-btn-icon-left:after {
left: 0.2em;/* ui-btn-icon-left:after */
}
.morph.ui-btn-icon-right:after {
left: 0.2em;/* ui-btn-icon-right:after */
}
.morph.ui-btn-icon-left,
.morph.ui-btn-icon-right {
height: 1.5em;
text-indent: -9999px;
white-space: nowrap !important;
width: 1.5em;
padding: 0;
border-radius: 1em;
font-size: 16px;
-webkit-border-radius: 1em;
}
}
/* upper boundaries */
@media (min-width: 45em) {
.ui-controlgroup .morph {
padding: 0 .75em;
}
}
/* ranges */
@media (max-width: 20em) {
.ui-controlgroup .morph {
padding: 0 .25em;
}
}
@media (min-width: 20.01em) and (max-width: 30em) {
.ui-controlgroup .morph {
padding: 0 .4em;
}
}
@media (min-width: 30.01em) and (max-width: 40em) {
.ui-controlgroup .morph {
padding: 0 .75em;
}
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
/* ==========================================================================
HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined in IE 8/9.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
display: block;
}
/**
* Correct `inline-block` display not defined in IE 8/9.
*/
audio,
canvas,
video {
display: inline-block;
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address styling not present in IE 8/9.
*/
[hidden] {
display: none;
}
/* ==========================================================================
Base
========================================================================== */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-family: sans-serif; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/**
* Remove default margin.
*/
body {
margin: 0;
}
/* ==========================================================================
Links
========================================================================== */
/**
* Address `outline` inconsistency between Chrome and other browsers.
*/
a:focus {
outline: thin dotted;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* ==========================================================================
Typography
========================================================================== */
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari 5, and Chrome.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/**
* Address styling not present in IE 8/9, Safari 5, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
*/
b,
strong {
font-weight: bold;
}
/**
* Address styling not present in Safari 5 and Chrome.
*/
dfn {
font-style: italic;
}
/**
* Address differences between Firefox and other browsers.
*/
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
/**
* Address styling not present in IE 8/9.
*/
mark {
background: #ff0;
color: #000;
}
/**
* Correct font family set oddly in Safari 5 and Chrome.
*/
code,
kbd,
pre,
samp {
font-family: monospace, serif;
font-size: 1em;
}
/**
* Improve readability of pre-formatted text in all browsers.
*/
pre {
white-space: pre-wrap;
}
/**
* Set consistent quote types.
*/
q {
quotes: "\201C" "\201D" "\2018" "\2019";
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* ==========================================================================
Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9.
*/
img {
border: 0;
}
/**
* Correct overflow displayed oddly in IE 9.
*/
svg:not(:root) {
overflow: hidden;
}
/* ==========================================================================
Figures
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari 5.
*/
figure {
margin: 0;
}
/* ==========================================================================
Forms
========================================================================== */
/**
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct `color` not being inherited in IE 8/9.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/
legend {
border: 0; /* 1 */
padding: 0; /* 2 */
}
/**
* 1. Correct font family not being inherited in all browsers.
* 2. Correct font size not being inherited in all browsers.
* 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
*/
button,
input,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 2 */
margin: 0; /* 3 */
}
/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
button,
input {
line-height: normal;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
* Correct `select` style inheritance in Firefox 4+ and Opera.
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* 1. Address box sizing set to `content-box` in IE 8/9.
* 2. Remove excess padding in IE 8/9.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
* (include `-moz` to future-proof).
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/**
* Remove inner padding and search cancel button in Safari 5 and Chrome
* on OS X.
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Remove inner padding and border in Firefox 4+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* 1. Remove default vertical scrollbar in IE 8/9.
* 2. Improve readability and alignment in all browsers.
*/
textarea {
overflow: auto; /* 1 */
vertical-align: top; /* 2 */
}
/* ==========================================================================
Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title></title>
<!-- <link rel="stylesheet" href="js/main.css"> -->
<script data-main="js/main.js" src="js/libs/require/require.js"></script>
</head>
<body>
<div data-role="page" id="details" data-gadget="modules/details/details.html" data-gadget-module="details"></div>
</body>
</html>
\ No newline at end of file
img/1.jpg

105 KB

img/2.jpg

102 KB

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title></title>
<!-- <link rel="stylesheet" href="js/main.css"> -->
<script data-main="js/main.js" src="js/libs/require/require.js"></script>
</head>
<body>
<div id="index" data-role="page" data-gadget="modules/index/index.html" data-gadget-module="index"></div>
</body>
</html>
<
define([], function () {
"use strict";
var priv = {};
var that = {};
// ========================================================================
// ATTRIBUTES
// ========================================================================
// document
priv.doc = $.mobile.document;
// settings > retrieve from JIO later
priv.settings = {};
priv.settings.language_default = "en-EN";
priv.settings.language_current = priv.settings.language_default;
priv.settings.language_selector = "translate";
priv.settings.language_set = false;
// ========================================================================
// FLAGS
// ========================================================================
// first page loaded
priv.pageWrapLoaded;
// ========================================================================
// INTERNAL METHODS
// ========================================================================
//
// add page header and footer (meta/scripts) to first page loaded (only!)
// @method wrapFirstPage
//
priv.wrapFirstPage = function () {
// TODO: clean this up
priv.doc.on('pagecreate.pageWrap', 'div.ui-page', function () {
if (priv.pageWrapLoaded === undefined) {
priv.pageWrapLoaded = true;
priv.doc.off('.pageWrap');
// var widgetsForThisRequest = [
// "text!../gadgets/pageheader.html",
// "text!../gadgets/pagefooter.html"
// ],
// target = [$('head'),$('body')];
//
//
// require(
// widgetsForThisRequest,
// function( /* dynamic */ ) {
// var i, widget, template_target;
//
// for ( i = 0; i < widgetsForThisRequest.length; i++){
// template_target = target[i];
// // if customization based on user data required (add logo/img urls, etc)
// // it should be done here with widget being a string that can be
// // modified with replace method
// widget = arguments[i];
// template_target.append( widget );
// }
// }
// );
}
});
};
// ============================ RenderJs related ========================
//
// get elements inside a popup
// @method getElements
// @param {object} gadget to search for recursive gadgets
//
priv.getElements = function (gadget, elements) {
return gadget.dom.find(elements);
};
//
// prefix element id with the parent id to allow instantiation
// @method prefixId
// @param {string} id > of current gadget/element
// @param {object} parent gadget
// @return {string} new id for gadget/element
//
priv.prefixElement = function (current_id, parent_id) {
return parent_id + "__" + current_id;
};
//
// set Attributes passed through data-gadget-properties
// @method setAttributesOnGadgetElements
// @param {object} gadget
// @param {properties} properties to set on the gadget
//
priv.setAttributesOnGadgetElements = function (gadget, properties) {
var key, values, i, object, method;
for (key in properties) {
if (properties.hasOwnProperty(key)) {
values = properties[key];
switch (key) {
case "_links":
// TODO: set dictionary here!
break;
case "_config":
// interim: create a fake dictionary
gadget[key] = values;
break;
case "_elements":
for (i = 0; i < values.length; i += 1) {
object = values[i];
method = object[1];
gadget.dom.find("." + object[0])[method](
object[2], method === "attr" ? object[3] : null
);
}
break;
}
}
}
};
//
// renderJs initializer and jQuery Mobile handler
// @method initializeRenderJs
//
priv.initializeRenderJs = function () {
// TODO: remove if possible
// TODO: try to call "create" earlier (FOUC on first time load)
priv.doc.on('pagebeforeshow', 'div.ui-page', function () {
var page = $(this);
// need to call this every time a page is shown...
RenderJs.init();
RenderJs.bindReady(function () {
var gadget = RenderJs.GadgetIndex.getGadgetById(page.attr('id'));
if (gadget.isEnhanced() === false) {
page.trigger("create");
gadget.setEnhanced(true);
}
});
})
.on('pageremove', 'div.ui-page', function () {
var page = $(this),
pageGadget;
// if the page is a gadget itself, it needs to be reset here
if (page.attr("data-gadget") !== undefined) {
pageGadget = RenderJs.GadgetIndex.getGadgetById(page.attr('id'));
pageGadget.setReady(false);
RenderJs.GadgetIndex.unregisterGadget(pageGadget);
}
// remove gadgets when removing pages
page.find("div[data-gadget]").each(function (i, el) {
var regularGadget = $(el);
if (regularGadget.is('.main-interactor') === false) {
RenderJs.GadgetIndex.getGadgetById(regularGadget.attr('id')).remove();
}
});
})
};
priv.setScreenDimensions = function () {
var spec = {};
// breakpoints should be optionable?