Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
ecommerce-ui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
ecommerce-ui
Commits
0ea54899
Commit
0ea54899
authored
Aug 01, 2013
by
Sven Franck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
linting
parent
a6188c92
Changes
32
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
2087 additions
and
1850 deletions
+2087
-1850
js/main.js
js/main.js
+75
-73
modules/core/app/app.js
modules/core/app/app.js
+349
-341
modules/core/config/config.js
modules/core/config/config.js
+43
-32
modules/core/extensions/extensions.js
modules/core/extensions/extensions.js
+199
-183
modules/core/overrides/overrides.js
modules/core/overrides/overrides.js
+2
-0
modules/core/storage/storage.js
modules/core/storage/storage.js
+713
-691
modules/core/utilities/utilities.js
modules/core/utilities/utilities.js
+15
-13
modules/ui/address/address.js
modules/ui/address/address.js
+16
-12
modules/ui/basket/basket.js
modules/ui/basket/basket.js
+16
-10
modules/ui/confirm/confirm.js
modules/ui/confirm/confirm.js
+15
-10
modules/ui/details/details.js
modules/ui/details/details.js
+55
-42
modules/ui/footer/footer.js
modules/ui/footer/footer.js
+14
-10
modules/ui/gallery/gallery.js
modules/ui/gallery/gallery.js
+83
-60
modules/ui/header/header.js
modules/ui/header/header.js
+13
-18
modules/ui/index/index.js
modules/ui/index/index.js
+13
-9
modules/ui/item/item.js
modules/ui/item/item.js
+79
-72
modules/ui/items/items.js
modules/ui/items/items.js
+64
-45
modules/ui/login/login.js
modules/ui/login/login.js
+16
-12
modules/ui/media/media.js
modules/ui/media/media.js
+14
-10
modules/ui/pagination/pagination.js
modules/ui/pagination/pagination.js
+80
-43
modules/ui/payment/payment.js
modules/ui/payment/payment.js
+14
-10
modules/ui/products/products.js
modules/ui/products/products.js
+14
-10
modules/ui/refine/refine.js
modules/ui/refine/refine.js
+14
-10
modules/ui/register/register.js
modules/ui/register/register.js
+14
-10
modules/ui/searchbar/searchbar.js
modules/ui/searchbar/searchbar.js
+40
-33
modules/ui/seo/seo.js
modules/ui/seo/seo.js
+14
-10
modules/ui/shipment/shipment.js
modules/ui/shipment/shipment.js
+14
-10
modules/ui/sorting/sorting.js
modules/ui/sorting/sorting.js
+14
-10
modules/ui/summary/summary.js
modules/ui/summary/summary.js
+14
-10
modules/ui/teaser/teaser.js
modules/ui/teaser/teaser.js
+14
-10
modules/ui/terms/terms.js
modules/ui/terms/terms.js
+14
-10
modules/ui/translate/translate.js
modules/ui/translate/translate.js
+33
-31
No files found.
js/main.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80, todo: true, nomen: true */
/*global document: true, require: true */
(
function
()
{
(
function
()
{
"
use strict
"
;
"
use strict
"
;
var
IS_LOCAL
=
/
(
:
\/\/
localhost|file:
\/\/)
/
.
test
(
document
.
location
.
href
);
var
IS_LOCAL
=
/
(
:
\/\/
localhost|file:
\/\/)
/
.
test
(
document
.
location
.
href
);
require
.
config
({
require
.
config
({
waitSeconds
:
(
IS_LOCAL
?
10
:
45
)
waitSeconds
:
(
IS_LOCAL
?
10
:
45
),
,
paths
:
{
paths
:
{
// core
// core
app
:
'
../modules/core/app/app
'
app
:
'
../modules/core/app/app
'
,
,
config
:
'
../modules/core/config/config
'
config
:
'
../modules/core/config/config
'
,
,
polyfill
:
'
../modules/core/polyfill/polyfill
'
polyfill
:
'
../modules/core/polyfill/polyfill
'
,
,
overrides
:
'
../modules/core/overrides/overrides
'
overrides
:
'
../modules/core/overrides/overrides
'
,
,
utilities
:
'
../modules/core/utilities/utilities
'
utilities
:
'
../modules/core/utilities/utilities
'
,
,
extensions
:
'
../modules/core/extensions/extensions
'
extensions
:
'
../modules/core/extensions/extensions
'
,
,
storage
:
'
../modules/core/storage/storage
'
storage
:
'
../modules/core/storage/storage
'
,
// requireJs
// requireJs
,
almond
:
'
../js/libs/require/almond
'
almond
:
'
../js/libs/require/almond
'
,
,
text
:
'
../js/libs/require/text
'
text
:
'
../js/libs/require/text
'
,
,
css
:
'
../js/plugins/require-css/require-css
'
css
:
'
../js/plugins/require-css/require-css
'
,
,
normalize
:
'
../js/plugins/require-css/normalize
'
normalize
:
'
../js/plugins/require-css/normalize
'
,
,
json
:
'
../js/plugins/requirejs-plugins/json
'
json
:
'
../js/plugins/requirejs-plugins/json
'
,
,
async
:
'
../js/plugins/requirejs-plugins/async
'
async
:
'
../js/plugins/requirejs-plugins/async
'
,
// support
// support
,
modernizr
:
'
../js/plugins/modernizr
'
modernizr
:
'
../js/plugins/modernizr
'
,
,
selectivzr
:
'
../js/plugins/selectivzr
'
selectivzr
:
'
../js/plugins/selectivzr
'
,
// plugins/libs
// plugins/libs
,
jquery
:
'
../js/libs/jquery/jquery
'
jquery
:
'
../js/libs/jquery/jquery
'
,
,
jqm
:
'
../js/libs/jquery-mobile/jquery-mobile
'
jqm
:
'
../js/libs/jquery-mobile/jquery-mobile
'
,
,
i18next
:
'
../js/plugins/i18next/i18next
'
i18next
:
'
../js/plugins/i18next/i18next
'
,
,
renderjs
:
'
../js/plugins/renderjs/renderjs
'
renderjs
:
'
../js/plugins/renderjs/renderjs
'
,
,
jio
:
'
../js/libs/jio/jio
'
jio
:
'
../js/libs/jio/jio
'
,
,
md5
:
'
../js/libs/jio/md5
'
md5
:
'
../js/libs/jio/md5
'
,
,
localstorage
:
'
../js/libs/jio/localstorage
'
localstorage
:
'
../js/libs/jio/localstorage
'
,
,
indexstorage
:
'
../js/libs/jio/indexstorage
'
indexstorage
:
'
../js/libs/jio/indexstorage
'
,
,
complex_queries
:
'
../js/libs/jio/complex_queries
'
complex_queries
:
'
../js/libs/jio/complex_queries
'
,
,
validval
:
'
../js/plugins/validval/validval
'
validval
:
'
../js/plugins/validval/validval
'
,
// page gadgets
// page gadgets
,
address
:
'
../modules/ui/address/address
'
address
:
'
../modules/ui/address/address
'
,
,
basket
:
'
../modules/ui/basket/basket
'
basket
:
'
../modules/ui/basket/basket
'
,
,
pagination
:
'
../modules/ui/pagination/pagination
'
pagination
:
'
../modules/ui/pagination/pagination
'
,
,
confirm
:
'
../modules/ui/confirm/confirm
'
confirm
:
'
../modules/ui/confirm/confirm
'
,
,
details
:
'
../modules/ui/details/details
'
details
:
'
../modules/ui/details/details
'
,
,
footer
:
'
../modules/ui/footer/footer
'
footer
:
'
../modules/ui/footer/footer
'
,
,
gallery
:
'
../modules/ui/gallery/gallery
'
gallery
:
'
../modules/ui/gallery/gallery
'
,
,
header
:
'
../modules/ui/header/header
'
header
:
'
../modules/ui/header/header
'
,
,
index
:
'
../modules/ui/index/index
'
index
:
'
../modules/ui/index/index
'
,
,
item
:
'
../modules/ui/item/item
'
item
:
'
../modules/ui/item/item
'
,
,
items
:
'
../modules/ui/items/items
'
items
:
'
../modules/ui/items/items
'
,
,
login
:
'
../modules/ui/login/login
'
login
:
'
../modules/ui/login/login
'
,
,
media
:
'
../modules/ui/media/media
'
media
:
'
../modules/ui/media/media
'
,
,
payment
:
'
../modules/ui/payment/payment
'
payment
:
'
../modules/ui/payment/payment
'
,
,
refine
:
'
../modules/ui/refine/refine
'
refine
:
'
../modules/ui/refine/refine
'
,
,
register
:
'
../modules/ui/register/register
'
register
:
'
../modules/ui/register/register
'
,
,
products
:
'
../modules/ui/products/products
'
products
:
'
../modules/ui/products/products
'
,
,
searchbar
:
'
../modules/ui/searchbar/searchbar
'
searchbar
:
'
../modules/ui/searchbar/searchbar
'
,
,
seo
:
'
../modules/ui/seo/seo
'
seo
:
'
../modules/ui/seo/seo
'
,
,
shipment
:
'
../modules/ui/shipment/shipment
'
shipment
:
'
../modules/ui/shipment/shipment
'
,
,
sorting
:
'
../modules/ui/sorting/sorting
'
sorting
:
'
../modules/ui/sorting/sorting
'
,
,
summary
:
'
../modules/ui/summary/summary
'
summary
:
'
../modules/ui/summary/summary
'
,
,
teaser
:
'
../modules/ui/teaser/teaser
'
teaser
:
'
../modules/ui/teaser/teaser
'
,
,
terms
:
'
../modules/ui/terms/terms
'
terms
:
'
../modules/ui/terms/terms
'
,
,
translate
:
'
../modules/ui/translate/translate
'
translate
:
'
../modules/ui/translate/translate
'
,
,
pageheader
:
'
../modules/ui/pageheader/pageheader
'
pageheader
:
'
../modules/ui/pageheader/pageheader
'
,
,
pagefooter
:
'
../modules/ui/pagefooter/pagefooter
'
pagefooter
:
'
../modules/ui/pagefooter/pagefooter
'
}
}
,
,
shim
:
{
shim
:
{
'
jqm
'
:
{
deps
:
[
'
jquery
'
],
exports
:
'
mobile
'
}
'
jqm
'
:
{
deps
:
[
'
jquery
'
],
exports
:
'
mobile
'
},
,
'
jio
'
:
{
deps
:
[
'
md5
'
]
}
'
jio
'
:
{
deps
:
[
'
md5
'
]
},
,
'
localstorage
'
:
{
deps
:
[
'
jio
'
,
'
complex_queries
'
]
}
'
localstorage
'
:
{
deps
:
[
'
jio
'
,
'
complex_queries
'
]
},
,
'
indexstorage
'
:
{
deps
:
[
'
jio
'
]
}
'
indexstorage
'
:
{
deps
:
[
'
jio
'
]
},
,
'
renderjs
'
:
{
deps
:
[
'
jquery
'
],
exports
:
'
RenderJs
'
}
'
renderjs
'
:
{
deps
:
[
'
jquery
'
],
exports
:
'
RenderJs
'
},
,
'
app
'
:
{
deps
:
[
'
jio
'
],
exports
:
'
App
'
}
'
app
'
:
{
deps
:
[
'
jio
'
],
exports
:
'
App
'
},
,
'
validval
'
:
{
deps
:
[
'
jquery
'
]
}
'
validval
'
:
{
deps
:
[
'
jquery
'
]
}
}
}
,
,
map
:
{
map
:
{
'
*
'
:
{
'
*
'
:
{
'
css
'
:
'
../js/plugins/require-css/css
'
'
css
'
:
'
../js/plugins/require-css/css
'
}
}
...
@@ -86,12 +87,11 @@
...
@@ -86,12 +87,11 @@
});
});
require
([
'
app
'
,
'
config
'
],
function
(
App
,
Config
)
{
require
([
'
app
'
,
'
config
'
],
function
(
App
,
Config
)
{
var
setup
=
new
$
.
Deferred
();
var
i
,
var
spec
=
{};
setup
=
new
$
.
Deferred
(),
var
i
;
spec
=
{};
var
def
;
spec
.
app
=
App
;
spec
.
app
=
App
;
spec
.
config
=
Config
;
spec
.
config
=
Config
;
...
@@ -100,16 +100,18 @@
...
@@ -100,16 +100,18 @@
// fallback for fast browsers...
// fallback for fast browsers...
spec
.
fallbackLoader
=
{
spec
.
fallbackLoader
=
{
deferreds
:
[],
deferreds
:
[],
args
:
[]
,
args
:
[]
};
};
// expose App once everything is loaded
// expose App once everything is loaded
spec
.
setup
.
done
(
function
(
App
,
Config
)
{
spec
.
setup
.
done
(
function
(
App
,
Config
)
{
// expose configuration - settings
// expose configuration - settings
App
.
settings
=
Config
.
settings
;
App
.
settings
=
Config
.
settings
;
// expose configuration - storages
// expose configuration - storages
App
.
storage
=
Config
.
storage
;
App
.
storage
=
Config
.
storage
;
// expose errors
App
.
errors
=
[];
for
(
i
=
0
;
i
<
window
.
fallbackLoader
.
deferreds
.
length
;
i
+=
1
)
{
for
(
i
=
0
;
i
<
window
.
fallbackLoader
.
deferreds
.
length
;
i
+=
1
)
{
window
.
fallbackLoader
.
deferreds
[
i
]
window
.
fallbackLoader
.
deferreds
[
i
]
...
...
modules/core/app/app.js
View file @
0ea54899
This diff is collapsed.
Click to expand it.
modules/core/config/config.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80, nomen: true */
/*global document: true, require: true, define: true, RenderJs: true */
define
([
define
([
'
app
'
'
storage
'
,
,
'
storage
'
'
app
'
,
,
'
utilities
'
'
utilities
'
,
,
'
async
'
'
async
'
],
],
function
(
App
,
storage
)
{
function
(
storage
)
{
"
use strict
"
;
"
use strict
"
;
var
priv
=
{}
;
var
priv
=
{}
,
var
that
=
{};
that
=
{};
// set return object
// set return object
that
.
settings
=
{};
that
.
settings
=
{};
...
@@ -23,11 +25,11 @@ define([
...
@@ -23,11 +25,11 @@ define([
spec
.
framed
=
"
medium
"
;
spec
.
framed
=
"
medium
"
;
if
(
$
.
mobile
.
media
(
"
screen and (max-width:20em)
"
)
||
if
(
$
.
mobile
.
media
(
"
screen and (max-width:20em)
"
)
||
(
$
.
mobile
.
browser
.
oldIE
&&
$
(
window
).
width
()
<
o
.
lowerThresh
))
{
(
$
.
mobile
.
browser
.
oldIE
&&
$
(
window
).
width
()
<
spec
.
lowerThresh
))
{
spec
.
framed
=
"
small
"
;
spec
.
framed
=
"
small
"
;
}
else
if
(
$
.
mobile
.
media
(
"
screen and (min-width:45em)
"
)
||
}
else
if
(
$
.
mobile
.
media
(
"
screen and (min-width:45em)
"
)
||
(
$
.
mobile
.
browser
.
oldIE
&&
$
(
window
).
width
()
>=
o
.
upperThresh
))
{
(
$
.
mobile
.
browser
.
oldIE
&&
$
(
window
).
width
()
>=
spec
.
upperThresh
))
{
spec
.
framed
=
"
large
"
;
spec
.
framed
=
"
large
"
;
}
}
return
spec
.
framed
;
return
spec
.
framed
;
};
};
...
@@ -36,17 +38,24 @@ define([
...
@@ -36,17 +38,24 @@ define([
if
(
spec
.
response
===
undefined
)
{
if
(
spec
.
response
===
undefined
)
{
// TODO: this defaults could be set somewhere else as well
// TODO: this defaults could be set somewhere else as well
spec
.
config
.
settings
.
language_default
=
"
en-EN
"
;
spec
.
config
.
settings
.
language_default
=
"
en-EN
"
;
spec
.
config
.
settings
.
language_current
=
spec
.
config
.
settings
.
language_default
;
spec
.
config
.
settings
.
language_current
=
spec
.
config
.
settings
.
language_default
;
spec
.
config
.
settings
.
language_selector
=
"
translate
"
;
spec
.
config
.
settings
.
language_selector
=
"
translate
"
;
spec
.
config
.
settings
.
language_set
=
"
false
"
;
spec
.
config
.
settings
.
language_set
=
"
false
"
;
spec
.
config
.
settings
.
item_selector
=
"
item_id
"
;
spec
.
config
.
settings
.
item_selector
=
"
item_id
"
;
}
else
{
}
else
{
// create application settings
// create application settings
spec
.
config
.
settings
.
language_default
=
spec
.
response
.
language_default
||
"
en-EN
"
;
spec
.
config
.
settings
.
language_default
=
spec
.
config
.
settings
.
language_current
=
spec
.
response
.
language_current
||
spec
.
config
.
settings
.
language_default
;
spec
.
response
.
language_default
||
"
en-EN
"
;
spec
.
config
.
settings
.
language_selector
=
spec
.
response
.
selector
||
"
translate
"
;
spec
.
config
.
settings
.
language_current
=
spec
.
config
.
settings
.
language_set
=
spec
.
response
.
language_set
||
"
false
"
;
spec
.
response
.
language_current
||
spec
.
config
.
settings
.
item_selector
=
spec
.
response
.
item_selector
||
"
item_id
"
;
spec
.
config
.
settings
.
language_default
;
spec
.
config
.
settings
.
language_selector
=
spec
.
response
.
selector
||
"
translate
"
;
spec
.
config
.
settings
.
language_set
=
spec
.
response
.
language_set
||
"
false
"
;
spec
.
config
.
settings
.
item_selector
=
spec
.
response
.
item_selector
||
"
item_id
"
;
}
}
spec
.
config
.
settings
.
screen_format
=
priv
.
setScreenDimensions
();
spec
.
config
.
settings
.
screen_format
=
priv
.
setScreenDimensions
();
...
@@ -60,7 +69,7 @@ define([
...
@@ -60,7 +69,7 @@ define([
// store settings
// store settings
if
(
data
!==
undefined
)
{
if
(
data
!==
undefined
)
{
// add to localstorage
// add to localstorage
data
[
"
_id
"
]
=
"
config
"
;
data
.
_id
=
"
config
"
;
storage
.
queryStorage
({
storage
.
queryStorage
({
"
storage
"
:
"
settings
"
,
"
storage
"
:
"
settings
"
,
...
@@ -75,15 +84,16 @@ define([
...
@@ -75,15 +84,16 @@ define([
};
};
// fallback: collect configuration from file
// fallback: collect configuration from file
$
.
getJSON
(
$
.
getJSON
(
"
http://www.franckreich.de/members/export/x/configuration.json?callback=?
"
,
"
http://www.franckreich.de/members/export/x/
"
+
function
(
data
)
{
"
configuration.json?callback=?
"
,
priv
.
config_call
(
data
);
function
(
data
)
{
}
priv
.
config_call
(
data
);
}
);
);
//
require(
// require(
//
["async!http://www.franckreich.de/members/export/x/configuration.json"],
// ["async!http://www.franckreich.de/members/export/x/configuration.json"],
//
config_call
// config_call
//
);
// );
};
};
that
.
set
=
function
(
param
)
{
that
.
set
=
function
(
param
)
{
...
@@ -91,19 +101,20 @@ define([
...
@@ -91,19 +101,20 @@ define([
spec
.
storage
=
"
settings
"
;
spec
.
storage
=
"
settings
"
;
spec
.
method
=
"
get
"
;
spec
.
method
=
"
get
"
;
spec
.
doc
=
{
"
_id
"
:
"
config
"
};
spec
.
doc
=
{
"
_id
"
:
"
config
"
};
spec
.
callback
=
function
(
err
,
response
)
{
spec
.
callback
=
function
(
err
,
response
)
{
if
(
err
)
{
if
(
err
)
{
priv
.
JSONPfallback
(
param
);
priv
.
JSONPfallback
(
param
);
}
}
param
.
response
=
response
;
param
.
response
=
response
;
priv
.
setApplicationSetters
(
param
);
priv
.
setApplicationSetters
(
param
);
}
}
;
storage
.
queryStorage
(
spec
);
storage
.
queryStorage
(
spec
);
}
}
;
// return config
// return config
return
that
;
return
that
;
}
}
);
);
modules/core/extensions/extensions.js
View file @
0ea54899
This diff is collapsed.
Click to expand it.
modules/core/overrides/overrides.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80, nomen: true */
/*global document: true, $: true, define: true, */
define
([
'
jquery
'
],
function
(
$
)
{
define
([
'
jquery
'
],
function
(
$
)
{
"
use strict
"
;
"
use strict
"
;
...
...
modules/core/storage/storage.js
View file @
0ea54899
This diff is collapsed.
Click to expand it.
modules/core/utilities/utilities.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80, nomen: true */
/*global document: true, define: true, $: true */
define
([
define
([
'
app
'
'
app
'
],
function
(
App
)
{
],
function
(
App
)
{
"
use strict
"
;
"
use strict
"
;
// this module provides generic methods usable across all gadgets/modules
// this module provides generic methods usable across all gadgets/modules
var
that
=
{};
var
that
=
{};
...
@@ -16,20 +19,19 @@ define([
...
@@ -16,20 +19,19 @@ define([
if
(
matchesSelector
)
{
if
(
matchesSelector
)
{
while
(
elem
)
{
while
(
elem
)
{
if
(
matchesSelector
.
bind
(
elem
)(
selector
))
{
if
(
matchesSelector
.
bind
(
elem
)(
selector
))
{
return
elem
;
return
elem
;
}
else
{
elem
=
elem
.
parentNode
;
}
}
}
elem
=
elem
.
parentNode
;
return
false
;
}
else
{
// opera...
fallback
=
$
(
elem
).
closest
(
selector
);
if
(
fallback
.
length
>
0
)
{
return
fallback
;
}
}
return
false
;
return
false
;
}
}
// opera...
fallback
=
$
(
elem
).
closest
(
selector
);
if
(
fallback
.
length
>
0
)
{
return
fallback
;
}
return
false
;
};
};
// object size
// object size
that
.
objectSize
=
function
(
obj
)
{
that
.
objectSize
=
function
(
obj
)
{
...
@@ -37,7 +39,7 @@ define([
...
@@ -37,7 +39,7 @@ define([
for
(
key
in
obj
)
{
for
(
key
in
obj
)
{
if
(
obj
.
hasOwnProperty
(
key
))
{
if
(
obj
.
hasOwnProperty
(
key
))
{
size
++
;
size
+=
1
;
}
}
}
}
return
size
;
return
size
;
...
@@ -47,4 +49,4 @@ define([
...
@@ -47,4 +49,4 @@ define([
return
undefined
;
return
undefined
;
}
}
);
);
\ No newline at end of file
modules/ui/address/address.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, $: true, define: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!address.html!strip
'
'
text!address.html!strip
'
,
,
'
validval
'
'
validval
'
,
,
'
css!address
'
'
css!address
'
],
],
function
(
App
,
source
,
validator
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -25,7 +29,7 @@ define([
...
@@ -25,7 +29,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/basket/basket.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!basket.html!strip
'
'
text!basket.html!strip
'
,
,
'
css!basket
'
'
validval
'
,
],
'
css!basket
'
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +29,8 @@ define([
...
@@ -24,7 +29,8 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/confirm/confirm.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!confirm.html!strip
'
'
text!confirm.html!strip
'
,
,
'
css!confirm
'
'
validval
'
,
],
'
css!confirm
'
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +29,7 @@ define([
...
@@ -24,7 +29,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/details/details.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80, nomen: true */
/*global define: true, $: true, define: true, window: true, App: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!details.html!strip
'
'
text!details.html!strip
'
,
,
'
css!details
'
'
css!details
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
that
=
{};
"
use strict
"
;
var
priv
=
{};
var
that
=
{},
priv
=
{};
// cleanup memory
// cleanup memory
priv
.
cleanupMemory
=
function
(
memory
)
{
priv
.
cleanupMemory
=
function
(
memory
)
{
...
@@ -40,30 +44,33 @@ define([
...
@@ -40,30 +44,33 @@ define([
var
id
,
now
,
spec
,
module
;
var
id
,
now
,
spec
,
module
;
// we will have an item to display. Grab it and go!
// we will have an item to display. Grab it and go!
if
(
location
.
search
!==
""
)
{
if
(
window
.
location
.
search
!==
""
)
{
spec
=
{};
spec
=
{};
spec
.
pointer
=
location
.
search
.
split
(
"
=
"
)[
1
];
spec
.
pointer
=
window
.
location
.
search
.
split
(
"
=
"
)[
1
];
spec
.
storage
=
"
items
"
spec
.
storage
=
"
items
"
;
spec
.
method
=
"
get
"
spec
.
method
=
"
get
"
;
spec
.
doc
=
{
"
_id
"
:
spec
.
pointer
}
spec
.
doc
=
{
"
_id
"
:
spec
.
pointer
}
;
// TODO: should be passed via JSON?
// TODO: should be passed via JSON?
module
=
"
storage
"
;
module
=
"
storage
"
;
now
=
new
Date
().
getTime
();
now
=
new
Date
().
getTime
();
}
else
{
}
else
{
// route to all products
// route to all products
$
.
mobile
.
changePage
(
"
products.html
"
,
{
"
transition
"
:
"
fade
"
});
$
.
mobile
.
changePage
(
"
products.html
"
,
{
"
transition
"
:
"
fade
"
});
}
}
// jio response
// jio response
spec
.
callback
=
function
(
err
,
response
)
{
spec
.
callback
=
function
(
err
,
response
)
{
if
(
err
)
{
if
(
err
)
{
// error handling
App
.
errors
.
push
({
module
:
"
details
"
,
timestamp
:
now
,
error
:
err
});
}
else
{
}
else
{
id
=
response
.
_id
;
id
=
response
.
_id
;
App
.
cacheItems
[
id
]
=
[
response
,
now
];
App
.
cacheItems
[
id
]
=
[
response
,
now
];
// memory
// memory
...
@@ -72,7 +79,7 @@ define([
...
@@ -72,7 +79,7 @@ define([
// this is not response.callback(!!)
// this is not response.callback(!!)
params
.
callback_mockup
(
params
.
source
);
params
.
callback_mockup
(
params
.
source
);
}
}
;
// query for items
// query for items
App
[
module
].
switchboard
(
spec
);
App
[
module
].
switchboard
(
spec
);
};
};
...
@@ -89,36 +96,42 @@ define([
...
@@ -89,36 +96,42 @@ define([
// TODO: this should also fetch the full document along with attachments,
// TODO: this should also fetch the full document along with attachments,
// while all other request should only work with the "meta" data.
// while all other request should only work with the "meta" data.
//
that.before = function (source, callback_mockup) {
// that.before = function (source, callback_mockup) {
//
var spec = {};
// var spec = {};
//
//
// spec.gadget = RenderJs.getSelfGadget();
// spec.gadget = RenderJs.getSelfGadget();
// // TODO: this is for page event bindings. Once JQM content replaces
// // TODO: this is for page event bindings. Once JQM content replaces
// // page, remove this and make the gadget the content section to
// // page, remove this and make the gadget the content section to
// // be updated.
// // be updated.
// spec.page = App.util.closest(spec.gadget.dom.get(0), "div[data-role='page']");
// spec.page = App.util.closest(
// spec.pageId = "#" + spec.page.id;
// spec.gadget.dom.get(0),
// spec.source = source;
// "div[data-role='page']"
// spec.callback_mockup = callback_mockup;
// );
// spec.pageId = "#" + spec.page.id;
// spec.source = source;
// spec.callback_mockup = callback_mockup;
//
//
//
if (!spec.page.getAttribute("events_details")) {
// if (!spec.page.getAttribute("events_details")) {
//
spec.page.setAttribute("events_details", true);
// spec.page.setAttribute("events_details", true);
//
$(document).on("pagebeforeshow.details", spec.pageId, function (e, data) {
//
$(document).on(
//
// TODO: if we allow to reload, we also need to trigger refresh on
//
"pagebeforeshow.details",
//
// so we need to reload this every time a page is shown. question
//
spec.pageId,
//
// is how to trigger a refresh on this element ONLY
//
function (e, data) {
//
priv.storeItem(spec);
//
// TODO: if we allow to reload, we also need to trigger refresh on
//
});
//
// so we need to reload this every time a page is shown. question
// //
and run intial
// //
is how to trigger a refresh on this element ONLY
// priv.storeItem(spec);
// priv.storeItem(spec);
// }
// });
// };
// // and run intial
// priv.storeItem(spec);
// }
// };
that
.
after
=
function
(
self
)
{
that
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
var
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -131,7 +144,7 @@ define([
...
@@ -131,7 +144,7 @@ define([
}
}
};
};
// return response object
// return response object
return
that
;
return
that
;
}
}
);
);
modules/ui/footer/footer.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!footer.html!strip
'
'
text!footer.html!strip
'
,
,
'
css!footer
'
'
css!footer
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/gallery/gallery.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80, nomen: true */
/*global define: true, $: true, define: true, window: true, App: true, RenderJs: true,
document: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!gallery.html!strip
'
'
text!gallery.html!strip
'
,
,
'
css!gallery
'
'
css!gallery
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
that
=
{};
"
use strict
"
;
var
priv
=
{};
var
that
=
{},
priv
=
{};
// ========================== ATTRIBUTES ==============================
// ========================== ATTRIBUTES ==============================
// set response, so it's available across function calls
// set response, so it's available across function calls
priv
.
response
;
priv
.
response
=
undefined
;
priv
.
generateGallery
=
function
(
response
)
{
priv
.
generateGallery
=
function
(
response
)
{
// expose response (will be overwritten, when next item loads
// expose response (will be overwritten, when next item loads
...
@@ -21,7 +26,7 @@ define([
...
@@ -21,7 +26,7 @@ define([
// TODO: zoom is missing, this should also be a feature of gallery
// TODO: zoom is missing, this should also be a feature of gallery
// TODO: 404 fallback images!
// TODO: 404 fallback images!
// ala photoswipe
// ala photoswipe
var
i
,
j
,
item
,
img
,
gallery
,
thumbnails
=
""
,
str
,
obj
,
variations
;
var
i
,
item
,
gallery
,
thumbnails
=
""
,
variations
;
gallery
=
"
<div class='gallery_wrap'><ul data-role='carousel'
"
+
gallery
=
"
<div class='gallery_wrap'><ul data-role='carousel'
"
+
"
data-inset='true' class='ui-responsive tester'
"
+
"
data-inset='true' class='ui-responsive tester'
"
+
...
@@ -37,15 +42,18 @@ define([
...
@@ -37,15 +42,18 @@ define([
variations
=
priv
.
response
.
dimensions
[
0
].
vars
;
variations
=
priv
.
response
.
dimensions
[
0
].
vars
;
if
(
variations
.
length
>
1
)
{
if
(
variations
.
length
>
1
)
{
thumbnails
+=
"
<div class='gallery_thumbnails '><ul data-role='
"
+
thumbnails
+=
"
<div class='gallery_thumbnails '><ul data-role='
"
+
"
listview' data-inset='true' class='gallery_thumbnail_wrapper'>
"
;
"
listview' data-inset='true' class='gallery_thumbnail_wrapper'>
"
;
for
(
i
=
0
;
i
<
variations
.
length
;
i
+=
1
)
{
for
(
i
=
0
;
i
<
variations
.
length
;
i
+=
1
)
{
item
=
variations
[
i
];
item
=
variations
[
i
];
// thumbnails - click on link should trigger the display method
// thumbnails - click on link should trigger the display method
thumbnails
+=
"
<li data-icon='false'><a href='#
"
+
item
.
name
+
"
' class='
"
+
thumbnails
+=
"
<li data-icon='false'><a href='#
"
+
item
.
name
+
"
display_item'><img src='
"
+
response
.
media
+
item
.
media
.
img
[
0
][
"
t
"
]
+
"
' alt='
"
"
' class='display_item'><img src='
"
+
response
.
media
+
+
item
.
name
+
"
' /><h3 class='translate gallery_header' data-i18n='
"
+
item
.
media
.
img
[
0
].
t
+
"
' alt='
"
+
item
.
name
+
"
' /><h3 class='translate gallery_header' data-i18n='
"
+
item
.
i18n
+
"
'>
"
+
item
.
name
+
"
</h3></li>
"
;
item
.
i18n
+
"
'>
"
+
item
.
name
+
"
</h3></li>
"
;
}
}
thumbnails
+=
"
</ul></div>
"
;
thumbnails
+=
"
</ul></div>
"
;
...
@@ -54,7 +62,7 @@ define([
...
@@ -54,7 +62,7 @@ define([
gallery
+=
"
</ul></div>
"
;
gallery
+=
"
</ul></div>
"
;
return
str
=
gallery
+
thumbnails
;
return
gallery
+
thumbnails
;
};
};
// TODO: show some thing
// TODO: show some thing
...
@@ -79,15 +87,19 @@ define([
...
@@ -79,15 +87,19 @@ define([
// generate gallery list items
// generate gallery list items
priv
.
generateGalleryItems
=
function
(
name
)
{
priv
.
generateGalleryItems
=
function
(
name
)
{
var
i
,
j
,
item
,
img
,
str
=
""
;
var
i
,
j
,
img
,
str
=
""
,
item
=
priv
.
response
.
dimensions
[
0
].
vars
[
0
];
// TODO: should not be hardcoded to first variation!!!
item
=
priv
.
response
.
dimensions
[
0
].
vars
[
0
],
screen
=
App
.
settings
.
screen_format
,
size
=
screen
===
"
small
"
?
"
small
"
:
"
medium
"
,
shortcut
=
size
.
substring
(
0
,
1
);
// find item name or default to first variant in dimension
// find item name or default to first variant in dimension
if
(
name
!==
undefined
)
{
if
(
name
!==
undefined
)
{
for
(
i
=
0
;
i
<
priv
.
response
.
dimensions
[
0
].
vars
.
length
;
i
+=
1
)
{
for
(
i
=
0
;
i
<
priv
.
response
.
dimensions
[
0
].
vars
.
length
;
i
+=
1
)
{
item
=
priv
.
response
.
dimensions
[
0
].
vars
[
i
];
item
=
priv
.
response
.
dimensions
[
0
].
vars
[
i
];
if
(
item
.
name
===
name
||
location
.
hash
===
name
)
{
if
(
item
.
name
===
name
||
window
.
location
.
hash
===
name
)
{
break
;
break
;
}
}
}
}
...
@@ -99,10 +111,10 @@ define([
...
@@ -99,10 +111,10 @@ define([
for
(
j
=
0
;
j
<
item
.
media
.
img
.
length
;
j
+=
1
)
{
for
(
j
=
0
;
j
<
item
.
media
.
img
.
length
;
j
+=
1
)
{
img
=
item
.
media
.
img
[
j
];
img
=
item
.
media
.
img
[
j
];
// TODO: add zoom/photoswipe later!
// TODO: add zoom/photoswipe later!
str
+=
"
<li class='product_img'><a href='#'><img src='
"
+
priv
.
response
.
media
+
str
+=
"
<li class='product_img'><a href='#'><img src='
"
+
img
[
shortcut
]
+
size
+
"
' alt='
"
+
item
.
name
+
"
' />
"
+
priv
.
response
.
media
+
img
[
shortcut
]
+
size
+
"
' alt='
"
+
"
<h3 class='translate gallery_header' data-i18n='
"
+
item
.
name
+
"
' />
"
+
"
<h3 class='translate gallery_header'
"
+
item
.
i18n
+
"
'></h3></a></li>
"
;
"
data-i18n='
"
+
item
.
i18n
+
"
'></h3></a></li>
"
;
}
}
return
str
;
return
str
;
...
@@ -120,17 +132,12 @@ define([
...
@@ -120,17 +132,12 @@ define([
// generate items to display
// generate items to display
priv
.
generateItems
=
function
(
params
)
{
priv
.
generateItems
=
function
(
params
)
{
var
markup
,
spec
,
response
;
var
markup
,
spec
,
id
=
params
.
gadget
.
dom
.
attr
(
'
id
'
).
split
(
"
__
"
).
splice
(
-
1
)[
0
],
id
=
params
.
gadget
.
dom
.
attr
(
'
id
'
).
split
(
"
__
"
).
splice
(
-
1
)[
0
],
config
=
params
.
gadget
.
state
[
0
][
id
].
_config
,
config
=
params
.
gadget
.
state
[
0
][
id
].
_config
,
module
=
config
.
datasource
.
module
,
module
=
config
.
datasource
.
module
,
urlPointer
=
params
.
pointer
.
length
>
1
,
urlPointer
=
params
.
pointer
.
length
>
1
,
jsonPointer
=
config
.
datasource
.
pointer
,
jsonPointer
=
config
.
datasource
.
pointer
;
// TODO: settable options
screen
=
App
.
settings
.
screen_format
,
size
=
screen
===
"
small
"
?
"
small
"
:
"
medium
"
,
shortcut
=
size
.
substring
(
0
,
1
);
// if we have a pointer-array passed, query that
// if we have a pointer-array passed, query that
// TODO: this is not flexible yet, because "items" and "get" are hardcoded
// TODO: this is not flexible yet, because "items" and "get" are hardcoded
...
@@ -138,9 +145,9 @@ define([
...
@@ -138,9 +145,9 @@ define([
// what is stored on the image links...
// what is stored on the image links...
if
(
urlPointer
)
{
if
(
urlPointer
)
{
spec
=
{};
spec
=
{};
spec
.
storage
=
"
items
"
spec
.
storage
=
"
items
"
;
spec
.
method
=
"
get
"
spec
.
method
=
"
get
"
;
spec
.
doc
=
{
"
_id
"
:
params
.
pointer
[
1
]}
spec
.
doc
=
{
"
_id
"
:
params
.
pointer
[
1
]}
;
}
}
if
(
jsonPointer
)
{
if
(
jsonPointer
)
{
...
@@ -149,15 +156,28 @@ define([
...
@@ -149,15 +156,28 @@ define([
// in the configuration file, as it's something the user can use or not
// in the configuration file, as it's something the user can use or not
// also - should be possible to make this fullscreen by supplying the
// also - should be possible to make this fullscreen by supplying the
// carousel options!
// carousel options!
spec
.
items
=
[
spec
.
items
=
[{
{
"
src
"
:
"
img/stella.jpg
"
,
"
caption
"
:
"
Stella
"
,
"
i18n
"
:
"
custom.teaser.stella
"
,
"
href
"
:
"
products.html?search=stella
"
},
"
src
"
:
"
img/stella.jpg
"
,
{
"
src
"
:
"
img/nannin.jpg
"
,
"
caption
"
:
"
Nan
"
,
"
i18n
"
:
"
custom.teaser.nan
"
,
"
href
"
:
"
products.html?search=nan
"
},
"
caption
"
:
"
Stella
"
,
{
"
src
"
:
"
img/vila.jpg
"
,
"
caption
"
:
"
Vila
"
,
"
i18n
"
:
"
custom.teaser.vila
"
,
"
href
"
:
"
products.html?search=vila
"
}
"
i18n
"
:
"
custom.teaser.stella
"
,
]
"
href
"
:
"
products.html?search=stella
"
},
{
"
src
"
:
"
img/nannin.jpg
"
,
"
caption
"
:
"
Nan
"
,
"
i18n
"
:
"
custom.teaser.nan
"
,
"
href
"
:
"
products.html?search=nan
"
},
{
"
src
"
:
"
img/vila.jpg
"
,
"
caption
"
:
"
Vila
"
,
"
i18n
"
:
"
custom.teaser.vila
"
,
"
href
"
:
"
products.html?search=vila
"
}];
}
}
// callback to generate gallery
// callback to generate gallery
spec
.
callback
=
function
(
err
,
response
)
{
spec
.
callback
=
function
(
err
,
response
)
{
var
str
;
if
(
err
)
{
if
(
err
)
{
str
=
priv
.
generateError
();
str
=
priv
.
generateError
();
}
else
{
}
else
{
...
@@ -170,7 +190,7 @@ define([
...
@@ -170,7 +190,7 @@ define([
// TODO: this should not replace the whole gadget content
// TODO: this should not replace the whole gadget content
markup
=
params
.
source
.
replace
(
/<!-- gallery -->/g
,
str
);
markup
=
params
.
source
.
replace
(
/<!-- gallery -->/g
,
str
);
// this is not response.callback(!!)
// this is not response.callback(!!)
params
.
callback_mockup
(
markup
);
params
.
callback_mockup
(
markup
);
};
};
...
@@ -184,7 +204,7 @@ define([
...
@@ -184,7 +204,7 @@ define([
// just run callback now and generate gallery
// just run callback now and generate gallery
spec
.
callback
(
undefined
,
spec
);
spec
.
callback
(
undefined
,
spec
);
}
}
}
}
;
// response object
// response object
that
.
data
=
source
;
that
.
data
=
source
;
...
@@ -192,11 +212,14 @@ define([
...
@@ -192,11 +212,14 @@ define([
var
spec
=
{};
var
spec
=
{};
spec
.
gadget
=
RenderJs
.
getSelfGadget
();
spec
.
gadget
=
RenderJs
.
getSelfGadget
();
spec
.
page
=
App
.
util
.
closest
(
spec
.
gadget
.
dom
.
get
(
0
),
"
div[data-role='page']
"
);
spec
.
page
=
App
.
util
.
closest
(
spec
.
gadget
.
dom
.
get
(
0
),
"
div[data-role='page']
"
);
spec
.
pageId
=
"
#
"
+
spec
.
page
.
id
;
spec
.
pageId
=
"
#
"
+
spec
.
page
.
id
;
// TODO: retrieving pointers should be a generic method that retrieves
// TODO: retrieving pointers should be a generic method that retrieves
// pointers either from the URL or from a JSON config object passed!
// pointers either from the URL or from a JSON config object passed!
spec
.
pointer
=
location
.
search
.
split
(
"
=
"
);
spec
.
pointer
=
window
.
location
.
search
.
split
(
"
=
"
);
spec
.
callback_mockup
=
callback_mockup
;
spec
.
callback_mockup
=
callback_mockup
;
spec
.
source
=
source
;
spec
.
source
=
source
;
...
@@ -204,24 +227,24 @@ define([
...
@@ -204,24 +227,24 @@ define([
if
(
!
spec
.
page
.
getAttribute
(
"
events_gallery
"
))
{
if
(
!
spec
.
page
.
getAttribute
(
"
events_gallery
"
))
{
spec
.
page
.
setAttribute
(
"
events_gallery
"
,
true
);
spec
.
page
.
setAttribute
(
"
events_gallery
"
,
true
);
$
(
document
).
on
(
"
pagebeforeshow.gallery
"
,
spec
.
pageId
,
function
(
e
)
{
$
(
document
).
on
(
"
pagebeforeshow.gallery
"
,
spec
.
pageId
,
function
()
{
// the pointer in the URL may be updated
// the pointer in the URL may be updated
if
(
location
.
search
)
{
if
(
window
.
location
.
search
)
{
spec
.
pointer
=
location
.
search
.
split
(
"
=
"
);
spec
.
pointer
=
window
.
location
.
search
.
split
(
"
=
"
);
}
}
priv
.
generateItems
(
spec
,
true
);
priv
.
generateItems
(
spec
,
true
);
})
})
.
on
(
"
click.gallery
"
,
spec
.
pageId
+
"
.display_item
"
,
function
(
e
)
{
.
on
(
"
click.gallery
"
,
spec
.
pageId
+
"
.display_item
"
,
function
(
e
)
{
var
target
=
e
.
target
,
var
target
=
e
.
target
,
color
;
color
;
if
(
e
.
target
.
tagName
===
"
A
"
)
{
if
(
e
.
target
.
tagName
===
"
A
"
)
{
color
=
target
.
href
.
split
(
"
#
"
)[
1
];
color
=
target
.
href
.
split
(
"
#
"
)[
1
];
}
else
{
}
else
{
color
=
App
.
util
.
closest
(
target
,
"
a
"
).
href
.
split
(
"
#
"
)[
1
];
color
=
App
.
util
.
closest
(
target
,
"
a
"
).
href
.
split
(
"
#
"
)[
1
];
}
}
priv
.
swapGalleryItems
(
color
,
e
.
target
);
priv
.
swapGalleryItems
(
color
,
e
.
target
);
});
});
// and run intial
// and run intial
priv
.
generateItems
(
spec
);
priv
.
generateItems
(
spec
);
}
}
...
@@ -229,9 +252,9 @@ define([
...
@@ -229,9 +252,9 @@ define([
that
.
after
=
function
(
self
)
{
that
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
var
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
,
true
);
App
.
renderGadgets
(
gadget
,
true
);
});
});
...
@@ -244,7 +267,7 @@ define([
...
@@ -244,7 +267,7 @@ define([
}
}
};
};
// return response object
// return response object
return
that
;
return
that
;
}
}
);
);
modules/ui/header/header.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!header.html!strip
'
'
text!header.html!strip
'
,
,
'
css!header
'
'
css!header
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
"
use strict
"
;
var
response
=
{},
def
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
// TODO: this should be inside renderJs, although its application-specific
// but the problem with using async-render-require will be everything
// being loaded at the same time, so the user should have the opportunity
// to run his callback no matter where. Still not sure where to wait
// (app-init or render-init), but it would be nice if a renderjs application
// would allow for a first page load deferred on all gadgets until some
// flag is set. In rjs2, we will not have to set globals, but we will
// have the problem of trying to access methods published by other gadgets
// BEFORE they have been published, so it's pretty much the same thing.
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -33,7 +28,7 @@ define([
...
@@ -33,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/index/index.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!index.html!strip
'
'
text!index.html!strip
'
,
,
'
css!index
'
'
css!index
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
"
use strict
"
;
var
response
=
{},
def
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/item/item.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80, nomen: true */
/*global define: true, $: true, define: true, window: true, App: true,
RenderJs: true, document: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!item.html!strip
'
'
text!item.html!strip
'
,
,
'
css!item
'
'
css!item
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
that
=
{};
"
use strict
"
;
var
priv
=
{};
var
that
=
{},
priv
=
{};
// ========================== ATTRIBUTES ==============================
// ========================== ATTRIBUTES ==============================
// set response, so it's available across function calls
// set response, so it's available across function calls
priv
.
response
;
priv
.
response
=
undefined
;
priv
.
generateContent
=
function
(
response
)
{
priv
.
generateContent
=
function
(
response
)
{
var
i
,
j
,
k
,
content
,
child
,
dimension
,
dimensions
,
variation
,
var
i
,
j
,
k
,
content
,
child
,
dimension
,
dimensions
,
variation
,
price
,
sub_dimension
,
sub_dimension_i18n
,
str
,
select
,
element
,
soldout
;
sub_dimension
,
sub_dimension_i18n
,
str
,
select
,
element
,
soldout
;
// expose response (will be overwritten, when next item loads
// expose response (will be overwritten, when next item loads
...
@@ -61,7 +66,7 @@ define([
...
@@ -61,7 +66,7 @@ define([
select
=
""
;
select
=
""
;
}
}
dimensions
+=
"
<option class='translate' data-i18n='
"
+
dimensions
+=
"
<option class='translate' data-i18n='
"
+
variation
.
i18n
+
"
'
"
+
select
+
"
value='
"
+
variation
.
name
+
variation
.
i18n
+
"
'
"
+
select
+
"
value='
"
+
variation
.
name
+
"
'>
"
+
variation
.
name
+
"
</option>
"
;
"
'>
"
+
variation
.
name
+
"
</option>
"
;
}
}
...
@@ -88,10 +93,11 @@ define([
...
@@ -88,10 +93,11 @@ define([
soldout
=
"
disabled
"
;
soldout
=
"
disabled
"
;
}
}
child
+=
"
<option class='translate' data-i18n='
"
+
element
.
i18n
+
child
+=
"
<option class='translate' data-i18n='
"
+
element
.
i18n
+
"
'
"
+
soldout
+
"
value ='
"
+
element
.
name
+
"
'>
"
+
+
"
</option>
"
;
"
'
"
+
soldout
+
"
value ='
"
+
element
.
name
+
"
'>
"
+
element
.
name
+
"
</option>
"
;
}
}
}
}
str
=
content
+
dimensions
+
child
+
"
</select></div>
"
;
str
=
content
+
dimensions
+
child
+
"
</select></div>
"
;
return
[
str
,
response
.
description
];
return
[
str
,
response
.
description
];
};
};
...
@@ -101,70 +107,68 @@ define([
...
@@ -101,70 +107,68 @@ define([
};
};
// generate content items?
// generate content items?
priv
.
generateContentItems
=
function
(
name
)
{
//
priv.generateContentItems = function (name) {
//
var i, j, item, img, str = "";
// var i, j, item, img, str = "";
//
//
//
item = priv.response.dimensions[0].vars[0];
// item = priv.response.dimensions[0].vars[0];
//
//
// // find item name or default to first variant in dimension
// // find item name or default to first variant in dimension
// if (name !== undefined) {
// if (name !== undefined) {
// for (i = 0; i < priv.response.dimensions[0].vars.length; i += 1) {
// for (i = 0; i < priv.response.dimensions[0].vars.length; i += 1) {
// item = priv.response.dimensions[0].vars[i];
// item = priv.response.dimensions[0].vars[i];
// if (item.name === name || location.hash === name) {
// if (item.name === name || window.location.hash === name) {
// break;
// break;
// }
// }
// }
// }
// }
// }
//
//
// // for every variant (colors, size?, foo?)
// // for every variant (colors, size?, foo?)
// // TODO: declare a variant that carries images in products JSON!
// // TODO: declare a variant that carries images in products JSON!
// // build string
// // build string
// for (j = 0; j < item.media.img.length; j += 1) {
// for (j = 0; j < item.media.img.length; j += 1) {
// img = item.media.img[j];
// img = item.media.img[j];
// // TODO: add zoom/photoswipe later!
// // TODO: add zoom/photoswipe later!
// str += "<li class='product_img'><a href='#'><img src='" + priv.response.media +
// str += "<li class='product_img'><a href='#'><img src='" +
// img[shortcut] + size + "' alt='" + item.name + "' />" +
// priv.response.media + img[shortcut] + size + "' alt='" +
// "<h3 class='translate gallery_header' data-i18n='" +
// item.name + "' />" + "<h3 class='translate gallery_header' " +
// item.i18n + "'></h3></a></li>";
// data-i18n='" + item.i18n + "'></h3></a></li>";
// }
// }
//
//
// return str;
// return str;
};
// };
priv
.
swapSecondaryOptions
=
function
(
name
,
element
)
{
// priv.swapSecondaryOptions = function (name, element) {
// var newString = priv.generateContentItems(name),
// var newString = priv.generateContentItems(name),
// // TODO: if thumbnails are a gallery option, it should be possible
// // TODO: if thumbnails are a gallery option, it should be possible
// // to reference the gallery from the thumbnail without doing this:
// // to reference the gallery from the thumbnail without doing this:
// wrap = App.util.closest(element, ".gallery_thumbnails").previousSibling,
// wrap = App.util.closest(
// gallery = wrap.getElementsByTagName("ul");
// element,
//
// ".gallery_thumbnails"
// $(gallery[0]).empty().append(newString).carousel("refresh");
// ).previousSibling,
};
// gallery = wrap.getElementsByTagName("ul");
//
// $(gallery[0]).empty().append(newString).carousel("refresh");
// };
// generate items to display
// generate items to display
priv
.
generateItems
=
function
(
params
)
{
priv
.
generateItems
=
function
(
params
)
{
var
markup
,
spec
,
response
;
var
markup
,
spec
,
id
=
params
.
gadget
.
dom
.
attr
(
'
id
'
).
split
(
"
__
"
).
splice
(
-
1
)[
0
],
id
=
params
.
gadget
.
dom
.
attr
(
'
id
'
).
split
(
"
__
"
).
splice
(
-
1
)[
0
],
config
=
params
.
gadget
.
state
[
0
][
id
].
_config
,
config
=
params
.
gadget
.
state
[
0
][
id
].
_config
,
module
=
config
.
datasource
.
module
,
module
=
config
.
datasource
.
module
,
urlPointer
=
params
.
pointer
.
length
>
1
,
urlPointer
=
params
.
pointer
.
length
>
1
;
jsonPointer
=
config
.
datasource
.
pointer
;
// if we have a pointer-array passed, query that
// if we have a pointer-array passed, query that
// TODO: this access a globally stored current_item set by details gadget!
// TODO: this access a globally stored current_item set by details gadget!
if
(
urlPointer
)
{
if
(
urlPointer
)
{
spec
=
{};
spec
=
{};
spec
.
storage
=
"
items
"
spec
.
storage
=
"
items
"
;
spec
.
method
=
"
get
"
spec
.
method
=
"
get
"
;
spec
.
doc
=
{
"
_id
"
:
params
.
pointer
[
1
]}
spec
.
doc
=
{
"
_id
"
:
params
.
pointer
[
1
]};
}
if
(
jsonPointer
)
{
}
}
// callback to generate gallery
// callback to generate gallery
spec
.
callback
=
function
(
err
,
response
)
{
spec
.
callback
=
function
(
err
,
response
)
{
var
str
;
var
str
;
if
(
err
)
{
if
(
err
)
{
...
@@ -184,7 +188,7 @@ define([
...
@@ -184,7 +188,7 @@ define([
if
(
urlPointer
)
{
if
(
urlPointer
)
{
App
[
module
].
switchboard
(
spec
);
App
[
module
].
switchboard
(
spec
);
}
}
}
}
;
// response object
// response object
that
.
data
=
source
;
that
.
data
=
source
;
...
@@ -192,11 +196,14 @@ define([
...
@@ -192,11 +196,14 @@ define([
var
spec
=
{};
var
spec
=
{};
spec
.
gadget
=
RenderJs
.
getSelfGadget
();
spec
.
gadget
=
RenderJs
.
getSelfGadget
();
spec
.
page
=
App
.
util
.
closest
(
spec
.
gadget
.
dom
.
get
(
0
),
"
div[data-role='page']
"
);
spec
.
page
=
App
.
util
.
closest
(
spec
.
gadget
.
dom
.
get
(
0
),
"
div[data-role='page']
"
);
spec
.
pageId
=
"
#
"
+
spec
.
page
.
id
;
spec
.
pageId
=
"
#
"
+
spec
.
page
.
id
;
// TODO: retrieving pointers should be a generic method that retrieves
// TODO: retrieving pointers should be a generic method that retrieves
// pointers either from the URL or from a JSON config object passed!
// pointers either from the URL or from a JSON config object passed!
spec
.
pointer
=
location
.
search
.
split
(
"
=
"
);
spec
.
pointer
=
window
.
location
.
search
.
split
(
"
=
"
);
spec
.
callback_mockup
=
callback_mockup
;
spec
.
callback_mockup
=
callback_mockup
;
spec
.
source
=
source
;
spec
.
source
=
source
;
...
@@ -204,34 +211,34 @@ define([
...
@@ -204,34 +211,34 @@ define([
if
(
!
spec
.
page
.
getAttribute
(
"
events_items
"
))
{
if
(
!
spec
.
page
.
getAttribute
(
"
events_items
"
))
{
spec
.
page
.
setAttribute
(
"
events_items
"
,
true
);
spec
.
page
.
setAttribute
(
"
events_items
"
,
true
);
$
(
document
).
on
(
"
pagebeforeshow.items
"
,
spec
.
pageId
,
function
(
e
)
{
$
(
document
).
on
(
"
pagebeforeshow.items
"
,
spec
.
pageId
,
function
()
{
// the pointer in the URL may be updated
// the pointer in the URL may be updated
if
(
location
.
search
)
{
if
(
window
.
location
.
search
)
{
spec
.
pointer
=
location
.
search
.
split
(
"
=
"
);
spec
.
pointer
=
window
.
location
.
search
.
split
(
"
=
"
);
}
}
priv
.
generateItems
(
spec
,
true
);
priv
.
generateItems
(
spec
,
true
);
})
})
;
.
on
(
"
change.item
"
,
spec
.
pageId
+
"
.main_dimension
"
,
function
(
e
)
{
//
.on("change.item", spec.pageId + " .main_dimension", function (e) {
// var target = e.target,
// var target = e.target,
// color;
// color;
//
//
// if (e.target.tagName === "A") {
// if (e.target.tagName === "A") {
// color = target.href.split("#")[1];
// color = target.href.split("#")[1];
// } else {
// } else {
// color = App.util.closest(target, "a").href.split("#")[1];
// color = App.util.closest(target, "a").href.split("#")[1];
// }
// }
// priv.swapSecondaryOptions(color, e.target);
// priv.swapSecondaryOptions(color, e.target);
});
//
});
// and run intial
// and run intial
priv
.
generateItems
(
spec
);
priv
.
generateItems
(
spec
);
}
}
};
};
that
.
after
=
function
(
self
)
{
that
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
var
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
,
true
);
App
.
renderGadgets
(
gadget
,
true
);
});
});
...
@@ -244,7 +251,7 @@ define([
...
@@ -244,7 +251,7 @@ define([
}
}
};
};
// return response object
// return response object
return
that
;
return
that
;
}
}
);
);
modules/ui/items/items.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80, nomen: true */
/*global define: true, $: true, define: true, window: true, App: true,
RenderJs: true, document: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!items.html!strip
'
'
text!items.html!strip
'
,
,
'
css!items
'
'
css!items
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
that
=
{};
"
use strict
"
;
var
priv
=
{};
var
that
=
{},
priv
=
{};
// in the perfect renderjs world, the items gadget should either expose
// in the perfect renderjs world, the items gadget should either expose
// an API on how to pass ... query string ... or have default config
// an API on how to pass ... query string ... or have default config
...
@@ -14,37 +19,44 @@ define([
...
@@ -14,37 +19,44 @@ define([
// generate items to display
// generate items to display
priv
.
generateItems
=
function
(
params
)
{
priv
.
generateItems
=
function
(
params
)
{
var
markup
,
spec
,
var
markup
,
spec
,
id
=
params
.
gadget
.
dom
.
attr
(
'
id
'
).
split
(
"
__
"
).
splice
(
-
1
)[
0
],
id
=
params
.
gadget
.
dom
.
attr
(
'
id
'
).
split
(
"
__
"
).
splice
(
-
1
)[
0
],
config
=
params
.
gadget
.
state
[
0
][
id
].
_config
,
config
=
params
.
gadget
.
state
[
0
][
id
].
_config
,
module
=
config
.
datasource
.
module
,
module
=
config
.
datasource
.
module
,
// settable options
screen
=
App
.
settings
.
screen_format
,
screen
=
App
.
settings
.
screen_format
,
size
=
screen
===
"
small
"
?
"
small
"
:
"
medium
"
,
size
=
screen
===
"
small
"
?
"
small
"
:
"
medium
"
,
shortcut
=
size
.
substring
(
0
,
1
),
shortcut
=
size
.
substring
(
0
,
1
),
identifier
=
App
.
settings
.
identifier
||
"
item_id
"
;
identifier
=
App
.
settings
.
identifier
||
"
item_id
"
;
spec
=
{};
spec
=
{};
spec
.
pointer
=
config
.
datasource
.
pointer
;
spec
.
pointer
=
config
.
datasource
.
pointer
;
spec
.
method
=
spec
.
pointer
?
undefined
:
config
.
datasource
.
method
||
"
allDocs
"
;
spec
.
method
=
spec
.
pointer
?
spec
.
storage
=
spec
.
pointer
?
undefined
:
config
.
datasource
.
storage
||
"
items
"
;
undefined
:
config
.
datasource
.
method
||
"
allDocs
"
;
spec
.
options
=
spec
.
pointer
?
undefined
:
{
spec
.
storage
=
spec
.
pointer
?
"
limit
"
:
config
.
datasource
.
limit
||
[
0
,
24
],
undefined
:
config
.
datasource
.
storage
||
"
items
"
;
"
sort_on
"
:
config
.
datasource
.
sort
||
[[
"
_id
"
,
"
descending
"
]],
spec
.
options
=
spec
.
pointer
?
"
select_list
"
:
config
.
datasource
.
fields
||
undefined
undefined
:
{
};
"
limit
"
:
config
.
datasource
.
limit
||
[
0
,
24
],
"
sort_on
"
:
config
.
datasource
.
sort
||
[[
"
_id
"
,
"
descending
"
]],
// if we have a search tag being passed, run a search
"
select_list
"
:
config
.
datasource
.
fields
||
undefined
if
(
location
.
search
!==
""
)
{
};
spec
.
query
=
true
;
spec
.
query_string
=
location
.
search
.
split
(
"
=
"
)[
1
].
replace
(
"
+
"
,
"
"
);
// if we have a search tag being passed, run a search
}
if
(
window
.
location
.
search
!==
""
)
{
spec
.
query
=
true
;
spec
.
query_string
=
window
.
location
.
search
.
split
(
"
=
"
)[
1
].
replace
(
"
+
"
,
"
"
);
}
spec
.
callback
=
function
(
err
,
response
)
{
spec
.
callback
=
function
(
err
,
response
)
{
var
item
,
i
,
str
=
""
,
price
;
var
item
,
i
,
str
=
""
,
price
,
now
=
new
Date
().
getTime
();
if
(
err
)
{
App
.
errors
.
push
([
"
items
"
,
now
,
err
]);
}
// cleanup
// cleanup
// no results
// no results
...
@@ -66,11 +78,11 @@ define([
...
@@ -66,11 +78,11 @@ define([
price
=
item
.
price
+
item
.
currency
;
price
=
item
.
price
+
item
.
currency
;
}
else
{
}
else
{
price
=
"
<span class='rebate'>
"
+
item
.
price
+
item
.
currency
+
price
=
"
<span class='rebate'>
"
+
item
.
price
+
item
.
currency
+
"
</span> (
"
+
item
.
original_price
+
item
.
currency
+
"
)
"
;
"
</span> (
"
+
item
.
original_price
+
item
.
currency
+
"
)
"
;
}
}
str
+=
"
<li data-icon='false'>
"
+
str
+=
"
<li data-icon='false'>
"
+
"
<a href='details.html?
"
+
identifier
+
"
=
"
+
"
<a href='details.html?
"
+
identifier
+
"
=
"
+
encodeURI
(
item
[
identifier
])
+
encodeURI
(
item
[
identifier
])
+
"
' title='
"
+
item
.
brand
+
"
,
"
+
item
.
title
+
"
'>
"
+
"
' title='
"
+
item
.
brand
+
"
,
"
+
item
.
title
+
"
'>
"
+
"
<span class='img_container_items'>
"
+
"
<span class='img_container_items'>
"
+
...
@@ -88,7 +100,7 @@ define([
...
@@ -88,7 +100,7 @@ define([
// this is not response.callback(!!)
// this is not response.callback(!!)
params
.
callback_mockup
(
markup
);
params
.
callback_mockup
(
markup
);
}
}
;
// query for items
// query for items
App
[
module
].
switchboard
(
spec
);
App
[
module
].
switchboard
(
spec
);
...
@@ -103,22 +115,27 @@ define([
...
@@ -103,22 +115,27 @@ define([
// TODO: this is for page event bindings. Once JQM content replaces
// TODO: this is for page event bindings. Once JQM content replaces
// page, remove this and make the gadget the content section to
// page, remove this and make the gadget the content section to
// be updated.
// be updated.
spec
.
page
=
App
.
util
.
closest
(
spec
.
gadget
.
dom
.
get
(
0
),
"
div[data-role='page']
"
);
spec
.
page
=
App
.
util
.
closest
(
spec
.
gadget
.
dom
.
get
(
0
),
"
div[data-role='page']
"
);
spec
.
pageId
=
"
#
"
+
spec
.
page
.
id
;
spec
.
pageId
=
"
#
"
+
spec
.
page
.
id
;
spec
.
source
=
source
;
spec
.
source
=
source
;
spec
.
callback_mockup
=
callback_mockup
;
spec
.
callback_mockup
=
callback_mockup
;
if
(
!
spec
.
page
.
getAttribute
(
"
events_items
"
))
{
if
(
!
spec
.
page
.
getAttribute
(
"
events_items
"
))
{
spec
.
page
.
setAttribute
(
"
events_items
"
,
true
);
spec
.
page
.
setAttribute
(
"
events_items
"
,
true
);
$
(
document
).
on
(
"
pagebeforeshow.items
"
,
spec
.
pageId
,
function
(
e
,
data
)
{
$
(
document
).
on
(
// TODO: if we allow to reload, we also need to trigger refresh on
"
pagebeforeshow.items
"
,
// so we need to reload this every time a page is shown. question
spec
.
pageId
,
// is how to trigger a refresh on this element ONLY
function
()
{
// > the gadgets should tell whether they need enhancement!
// TODO: if we allow reload, we also need to trigger refresh on
//if ($.mobile.firstPage.attr('id') !== spec.pageId.replace("#","")) {
// so we need to reload this every time a page is shown. question
// is how to trigger a refresh on this element ONLY
// > the gadgets should tell whether they need enhancement!
priv
.
generateItems
(
spec
);
priv
.
generateItems
(
spec
);
//
}
}
}
);
);
// and run intial
// and run intial
priv
.
generateItems
(
spec
);
priv
.
generateItems
(
spec
);
}
}
...
@@ -131,7 +148,8 @@ define([
...
@@ -131,7 +148,8 @@ define([
var
target
,
search
=
{};
var
target
,
search
=
{};
e
.
preventDefault
();
e
.
preventDefault
();
target
=
App
.
util
.
closest
(
e
.
target
,
"
a
"
).
getAttribute
(
"
href
"
).
split
(
"
?
"
)[
1
].
split
(
"
=
"
);
target
=
App
.
util
.
closest
(
e
.
target
,
"
a
"
)
.
getAttribute
(
"
href
"
).
split
(
"
?
"
)[
1
].
split
(
"
=
"
);
search
[
target
[
0
]]
=
target
[
1
];
search
[
target
[
0
]]
=
target
[
1
];
// show this item
// show this item
...
@@ -142,9 +160,9 @@ define([
...
@@ -142,9 +160,9 @@ define([
});
});
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
var
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
,
true
);
App
.
renderGadgets
(
gadget
,
true
);
});
});
...
@@ -157,7 +175,8 @@ define([
...
@@ -157,7 +175,8 @@ define([
}
}
};
};
// return response object
// return response object
return
that
;
return
that
;
}
}
);
);
modules/ui/login/login.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!login.html!strip
'
'
text!login.html!strip
'
,
,
'
validval
'
'
validval
'
,
,
'
css!login
'
'
css!login
'
],
],
function
(
App
,
source
,
validator
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -25,7 +29,7 @@ define([
...
@@ -25,7 +29,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/media/media.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!media.html!strip
'
'
text!media.html!strip
'
,
,
'
css!media
'
'
css!media
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/pagination/pagination.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80, nomen: true */
/*global define: true, $: true, window: true, App: true, RenderJs: true,
document: true, define: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!pagination.html!strip
'
'
text!pagination.html!strip
'
,
,
'
css!pagination
'
'
css!pagination
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
priv
=
{};
"
use strict
"
;
var
that
=
{};
var
priv
=
{},
that
=
{};
// get previous and next id
// get previous and next id
// TODO: this only works with id-numbers!!!
// TODO: this only works with id-numbers!!!
...
@@ -13,7 +18,7 @@ define([
...
@@ -13,7 +18,7 @@ define([
// unless we want to get allDocs(includeDocs)
// unless we want to get allDocs(includeDocs)
// TODO: this should receive the total number of results of a query/search!
// TODO: this should receive the total number of results of a query/search!
priv
.
getPrevNextItem
=
function
(
arr
,
id
,
next
,
max
)
{
priv
.
getPrevNextItem
=
function
(
arr
,
id
,
next
,
max
)
{
var
step
=
next
?
1
:
-
1
,
position
,
id
;
var
position
;
for
(
position
=
1
;
position
<=
max
;
position
+=
1
)
{
for
(
position
=
1
;
position
<=
max
;
position
+=
1
)
{
if
(
position
===
parseFloat
(
id
))
{
if
(
position
===
parseFloat
(
id
))
{
...
@@ -23,13 +28,12 @@ define([
...
@@ -23,13 +28,12 @@ define([
return
false
;
return
false
;
}
}
return
arr
[
position
].
id
;
return
arr
[
position
].
id
;
}
else
{
// less 1 is self, less 2 is previous...
if
(
arr
[
position
-
2
]
===
undefined
)
{
return
false
;
}
return
arr
[
position
-
2
].
id
;
}
}
// less 1 is self, less 2 is previous...
if
(
arr
[
position
-
2
]
===
undefined
)
{
return
false
;
}
return
arr
[
position
-
2
].
id
;
}
}
}
}
};
};
...
@@ -53,39 +57,65 @@ define([
...
@@ -53,39 +57,65 @@ define([
config
=
params
.
gadget
.
state
[
0
][
id
].
_config
,
config
=
params
.
gadget
.
state
[
0
][
id
].
_config
,
module
=
config
.
datasource
.
module
;
module
=
config
.
datasource
.
module
;
var
spec
=
{};
spec
=
{};
spec
.
pointer
=
config
.
datasource
.
pointer
;
spec
.
pointer
=
config
.
datasource
.
pointer
;
spec
.
method
=
spec
.
pointer
?
undefined
:
config
.
datasource
.
method
||
"
allDocs
"
;
spec
.
method
=
spec
.
pointer
?
spec
.
storage
=
spec
.
pointer
?
undefined
:
config
.
datasource
.
storage
||
"
items
"
;
undefined
:
config
.
datasource
.
method
||
"
allDocs
"
;
spec
.
options
=
spec
.
pointer
?
undefined
:
config
.
datasource
.
options
||
{
spec
.
storage
=
spec
.
pointer
?
"
sort_on
"
:
[[
"
_id
"
,
"
ascending
"
]]
undefined
:
config
.
datasource
.
storage
||
"
items
"
;
}
spec
.
options
=
spec
.
pointer
?
undefined
:
config
.
datasource
.
options
||
{
"
sort_on
"
:
[[
"
_id
"
,
"
ascending
"
]]
};
spec
.
callback
=
function
(
err
,
response
)
{
spec
.
callback
=
function
(
err
,
response
)
{
var
currentId
=
location
.
href
.
split
(
"
?
"
)[
1
].
split
(
"
=
"
)[
1
],
var
next
,
prev
,
markup
,
currentId
=
window
.
location
.
href
.
split
(
"
?
"
)[
1
].
split
(
"
=
"
)[
1
],
identifier
=
App
.
settings
.
identifier
||
"
item_id
"
,
identifier
=
App
.
settings
.
identifier
||
"
item_id
"
,
n
ext
,
prev
,
markup
;
n
ow
=
new
Date
().
getTime
()
;
// TODO: error handling
// TODO: error handling
if
(
err
)
{
if
(
err
)
{
App
.
errors
.
push
([
"
pagination
"
,
now
,
err
]);
}
else
{
}
else
{
// set next
// set next
// TODO:
this is
bad, because we can only point to doc_id, no matter what
// TODO: bad, because we can only point to doc_id, no matter what
// identifier we are setting. item_id itself is... bad... fix!
// identifier we are setting. item_id itself is... bad... fix!
next
=
priv
.
getPrevNextItem
(
response
.
rows
,
currentId
,
true
,
response
.
total_rows
);
next
=
priv
.
getPrevNextItem
(
response
.
rows
,
currentId
,
true
,
response
.
total_rows
);
if
(
!
next
)
{
if
(
!
next
)
{
markup
=
params
.
source
.
replace
(
"
translate next
"
,
"
translate next ui-state-disabled
"
);
markup
=
params
.
source
.
replace
(
"
translate next
"
,
"
translate next ui-state-disabled
"
);
}
else
{
}
else
{
markup
=
params
.
source
.
replace
(
identifier
+
"
=next
"
,
identifier
+
"
=
"
+
next
);
markup
=
params
.
source
.
replace
(
identifier
+
"
=next
"
,
identifier
+
"
=
"
+
next
);
}
}
// set previous
// set previous
prev
=
priv
.
getPrevNextItem
(
response
.
rows
,
currentId
,
false
,
response
.
total_rows
);
prev
=
priv
.
getPrevNextItem
(
response
.
rows
,
currentId
,
false
,
response
.
total_rows
);
if
(
!
prev
)
{
if
(
!
prev
)
{
markup
=
markup
.
replace
(
"
translate prev
"
,
"
translate prev ui-state-disabled
"
);
markup
=
markup
.
replace
(
"
translate prev
"
,
"
translate prev ui-state-disabled
"
);
}
else
{
}
else
{
markup
=
markup
.
replace
(
identifier
+
"
=prev
"
,
identifier
+
"
=
"
+
prev
);
markup
=
markup
.
replace
(
identifier
+
"
=prev
"
,
identifier
+
"
=
"
+
prev
);
}
}
}
}
params
.
callback_mockup
(
markup
);
params
.
callback_mockup
(
markup
);
...
@@ -95,8 +125,8 @@ define([
...
@@ -95,8 +125,8 @@ define([
App
[
module
].
switchboard
(
spec
);
App
[
module
].
switchboard
(
spec
);
};
};
priv
.
setBindings
=
function
(
param
)
{
//
priv.setBindings = function (param) {
var
doc
=
$
(
document
);
//
var doc = $(document);
// doc
// doc
// .on("pagebeforeshow.browser", param.pageId, function (e) {
// .on("pagebeforeshow.browser", param.pageId, function (e) {
// console.log("pbs");
// console.log("pbs");
...
@@ -114,7 +144,7 @@ define([
...
@@ -114,7 +144,7 @@ define([
// // changePage
// // changePage
// priv.displayItem(target);
// priv.displayItem(target);
// });
// });
};
//
};
that
.
data
=
source
;
that
.
data
=
source
;
that
.
before
=
function
(
source
,
callback_mockup
)
{
that
.
before
=
function
(
source
,
callback_mockup
)
{
...
@@ -124,21 +154,28 @@ define([
...
@@ -124,21 +154,28 @@ define([
// TODO: this is for page event bindings. Once JQM content replaces
// TODO: this is for page event bindings. Once JQM content replaces
// page, remove this and make the gadget the content section to
// page, remove this and make the gadget the content section to
// be updated.
// be updated.
spec
.
page
=
App
.
util
.
closest
(
spec
.
gadget
.
dom
.
get
(
0
),
"
div[data-role='page']
"
);
spec
.
page
=
App
.
util
.
closest
(
spec
.
gadget
.
dom
.
get
(
0
),
"
div[data-role='page']
"
);
spec
.
pageId
=
"
#
"
+
spec
.
page
.
id
;
spec
.
pageId
=
"
#
"
+
spec
.
page
.
id
;
spec
.
source
=
source
;
spec
.
source
=
source
;
spec
.
callback_mockup
=
callback_mockup
;
spec
.
callback_mockup
=
callback_mockup
;
if
(
!
spec
.
page
.
getAttribute
(
"
events_pagination
"
))
{
if
(
!
spec
.
page
.
getAttribute
(
"
events_pagination
"
))
{
spec
.
page
.
setAttribute
(
"
events_pagination
"
,
true
);
spec
.
page
.
setAttribute
(
"
events_pagination
"
,
true
);
$
(
document
).
on
(
"
pagebeforeshow.pagination
"
,
spec
.
pageId
,
function
(
e
,
data
)
{
$
(
document
).
on
(
"
pagebeforeshow.pagination
"
,
spec
.
pageId
,
function
()
{
// TODO: if we allow to reload, we also need to trigger refresh on
// TODO: if we allow to reload, we also need to trigger refresh on
// so we need to reload this every time a page is shown. question
// so we need to reload this every time a page is shown. question
// is how to trigger a refresh on this element ONLY
// is how to trigger a refresh on this element ONLY
// > the gadgets should tell whether they need enhancement!
// > the gadgets should tell whether they need enhancement!
// callback
// callback
priv
.
iterate
(
spec
);
priv
.
iterate
(
spec
);
});
}
);
// callback
// callback
priv
.
iterate
(
spec
);
priv
.
iterate
(
spec
);
...
@@ -147,22 +184,22 @@ define([
...
@@ -147,22 +184,22 @@ define([
that
.
after
=
function
(
self
)
{
that
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
var
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
,
true
);
App
.
renderGadgets
(
gadget
);
});
});
window
.
fallbackLoader
.
deferreds
.
push
(
def
);
window
.
fallbackLoader
.
deferreds
.
push
(
def
);
window
.
fallbackLoader
.
args
.
push
(
self
);
window
.
fallbackLoader
.
args
.
push
(
self
);
}
else
{
}
else
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
self
,
true
);
App
.
renderGadgets
(
self
);
}
}
};
};
// return response object
// return response object
return
that
;
return
that
;
}
}
);
);
modules/ui/payment/payment.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!payment.html!strip
'
'
text!payment.html!strip
'
,
,
'
css!payment
'
'
css!payment
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
\ No newline at end of file
modules/ui/products/products.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!products.html!strip
'
'
text!products.html!strip
'
,
,
'
css!products
'
'
css!products
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
\ No newline at end of file
modules/ui/refine/refine.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!refine.html!strip
'
'
text!refine.html!strip
'
,
,
'
css!refine
'
'
css!refine
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
\ No newline at end of file
modules/ui/register/register.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!register.html!strip
'
'
text!register.html!strip
'
,
,
'
css!register
'
'
css!register
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
\ No newline at end of file
modules/ui/searchbar/searchbar.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80, nomen: true */
/*global define: true, $: true, define: true, window: true, App: true,
RenderJs: true, document: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!searchbar.html!strip
'
'
text!searchbar.html!strip
'
,
,
'
css!searchbar
'
'
css!searchbar
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
"
use strict
"
;
var
response
=
{};
var
response
=
{};
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
var
filter
=
self
.
dom
.
find
(
"
.searchbar_filter
"
)
,
var
runSearch
,
def
,
value
,
runSearch
;
filter
=
self
.
dom
.
find
(
"
.searchbar_filter
"
)
;
runSearch
=
function
(
value
)
{
runSearch
=
function
(
value
)
{
$
.
mobile
.
changePage
(
"
products.html
"
,
{
$
.
mobile
.
changePage
(
"
products.html
"
,
{
"
transition
"
:
"
slide
"
,
"
transition
"
:
"
slide
"
,
"
allowSamePageTransition
"
:
true
,
"
allowSamePageTransition
"
:
true
,
"
data
"
:
{
"
data
"
:
{
...
@@ -21,12 +26,13 @@ define([
...
@@ -21,12 +26,13 @@ define([
});
});
};
};
filter
.
on
(
"
filterablebeforefilter
"
,
function
(
e
,
data
)
{
filter
.
on
(
"
filterablebeforefilter
"
,
function
(
e
)
{
value
=
data
.
input
.
value
;
// TODO: add back data
// var value = data.input.value;
// stop JQM
// stop JQM
e
.
preventDefault
();
e
.
preventDefault
();
if
(
value
)
{
//if (value
) {
// now we can autocomplete...
// now we can autocomplete...
// this should also run from JIO
// this should also run from JIO
// whatever happens should take into account presets
// whatever happens should take into account presets
...
@@ -45,35 +51,35 @@ define([
...
@@ -45,35 +51,35 @@ define([
// rest must be stored in an attachment.
// rest must be stored in an attachment.
// and jIO
// and jIO
}
//
}
})
})
.
on
(
"
filterablecreate
"
,
function
(
e
,
ui
)
{
.
on
(
"
filterablecreate
"
,
function
(
e
)
{
var
$el
=
$
(
e
.
target
.
previousSibling
),
var
$el
=
$
(
e
.
target
.
previousSibling
),
input
=
$el
.
find
(
"
input
"
),
input
=
$el
.
find
(
"
input
"
),
action
=
$el
.
find
(
"
a.ui-input-action
"
);
action
=
$el
.
find
(
"
a.ui-input-action
"
);
// TODO: search should be run here and results should be passed to
// TODO: search should be run here and results should be passed to
// items or ?. Otherwise items has to listen for ... something, grab
// items or ?. Otherwise items has to listen for ... something, grab
// data from somewhere and query. This makes more sense here.
// data from somewhere and query. This makes more sense here.
action
.
on
(
"
click
"
,
function
(
e
)
{
action
.
on
(
"
click
"
,
function
()
{
runSearch
(
input
.
val
());
});
input
.
on
(
"
keypress
"
,
function
(
e
)
{
if
(
e
.
which
==
13
)
{
e
.
preventDefault
();
runSearch
(
input
.
val
());
runSearch
(
input
.
val
());
}
});
input
.
on
(
"
keypress
"
,
function
(
e
)
{
if
(
e
.
which
===
13
)
{
e
.
preventDefault
();
runSearch
(
input
.
val
());
}
});
});
});
});
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -86,7 +92,8 @@ define([
...
@@ -86,7 +92,8 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/seo/seo.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!seo.html!strip
'
'
text!seo.html!strip
'
,
,
'
css!seo
'
'
css!seo
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/shipment/shipment.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!shipment.html!strip
'
'
text!shipment.html!strip
'
,
,
'
css!shipment
'
'
css!shipment
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/sorting/sorting.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!sorting.html!strip
'
'
text!sorting.html!strip
'
,
,
'
css!sorting
'
'
css!sorting
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/summary/summary.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!summary.html!strip
'
'
text!summary.html!strip
'
,
,
'
css!summary
'
'
css!summary
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/teaser/teaser.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!teaser.html!strip
'
'
text!teaser.html!strip
'
,
,
'
css!teaser
'
'
css!teaser
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/terms/terms.js
View file @
0ea54899
/*jslint indent: 2, maxlen: 80 */
/*global define: true, define: true, $: true, window: true */
define
([
define
([
'
app
'
'
app
'
,
,
'
text!terms.html!strip
'
'
text!terms.html!strip
'
,
,
'
css!terms
'
'
css!terms
'
],
],
function
(
App
,
source
)
{
function
(
App
,
source
)
{
var
response
=
{};
"
use strict
"
;
var
response
=
{},
def
;
response
.
data
=
source
;
response
.
data
=
source
;
response
.
after
=
function
(
self
)
{
response
.
after
=
function
(
self
)
{
if
(
App
===
undefined
)
{
if
(
App
===
undefined
)
{
def
=
new
$
.
Deferred
;
def
=
new
$
.
Deferred
()
;
def
.
done
(
function
(
gadget
)
{
def
.
done
(
function
(
gadget
)
{
// prefix instance-ids, pass JSON
// prefix instance-ids, pass JSON
App
.
renderGadgets
(
gadget
);
App
.
renderGadgets
(
gadget
);
});
});
...
@@ -24,7 +28,7 @@ define([
...
@@ -24,7 +28,7 @@ define([
}
}
};
};
// return response object
// return response object
return
response
;
return
response
;
}
}
);
);
modules/ui/translate/translate.js
View file @
0ea54899
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment