Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
marclaval committed Oct 30, 2013
1 parent 096b2f5 commit 1ae1727
Show file tree
Hide file tree
Showing 217 changed files with 13,079 additions and 4 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
node_modules
target
.project
.settings
.classpath
*.log
35 changes: 35 additions & 0 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
* Copyright 2013 Amadeus s.a.s.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/**
* Main entry point for grunt. The build configuration is split into several files in the ./build/grunt-config
* directory.
* @param {Object} grunt
*/
module.exports = function (grunt) {

grunt.registerTask('clean', ['removedirs:bootstrap', 'removedirs:prod']);
grunt.registerTask('release', ['clean', 'bootstrap', 'prod', 'removedirs:bootstrap', 'gzipStats:prod']);
grunt.registerTask('default', ['gruntTimeHookStart', 'release', 'gruntTimeHookEnd']);
grunt.registerTask('appsonly', ['removedirs:assets', 'removedirs:apps', 'prepareAssets', 'buildApp']);
grunt.registerTask('apps', ['gruntTimeHookStart', 'release', 'appsonly', 'gruntTimeHookEnd']);

grunt.loadTasks('./build/grunt-tasks');
grunt.loadNpmTasks('atpackager');
grunt.loadNpmTasks('grunt-verifylowercase');
grunt.loadNpmTasks('grunt-leading-indent');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadTasks('./build/grunt-config');
};
89 changes: 85 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,85 @@
kitchensink
===========

Aria Templates' Kitchen Sink
# Aria Templates' Kitchen Sink #

The **Kitchen Sink** is a showcase application which demontrates how mobile applications and websites can be implemented with [Aria Templates](http://ariatemplates.com/ "Aria Templates").

A demo site is available at [http://ariatemplates.com/mobile/kitchensink/](http://ariatemplates.com/mobile/kitchensink/ "Demo Site").

It has been tested in the default browsers of the following mobile platforms:
- iOS (5.1.1, 6.1.3 and 7.0.2)
- Android (2.3.6, 4.2.2 and 4.3)
- BlackBerry 10
- Windows Phone 8

In addition, it has also been tested on the latest version of these modern browsers:
- Chrome
- Firefox
- IE 10
- Opera
- Safari

## Usage ##

To use it, there is a set a scripts that are available after the usual *npm install*:
- *npm run-script lint* : runs JShint, verifies lowercase and checks files indentation
- *npm run-script build* : packages the Kitchen Sink with [atpackager](https://github.com/ariatemplates/atpackager "atpackager") and put the results in target/www folder
- *npm run-script startServerDev* : starts a webserver to run the Kitchen Sink in dev mode (at <http://localhost:8080/>)
- *npm run-script startServerProd* : performs a build and starts a webserver to run the Kitchen Sink in packaged mode (at <http://localhost:8080/>)
- *npm run-script android* : performs a build and then creates, compiles and deploys on device a Cordova application for Android
- *npm run-script blackberry10* : performs a build and then creates, compiles and deploys on device a Cordova application for BlackBerry 10
- *npm run-script ios* : performs a build and then creates, compiles and deploys on simulator a Cordova application for iOS
- *npm run-script wp8* : performs a build and then creates, compiles and deploys on device a Cordova application for Windows Phone 8

## Creating Cordova applications ##

Creating applications requires to have the SDK installed for the targeted platform.
To set this up, have a look at the [Platform Guides] (http://cordova.apache.org/docs/en/3.1.0/guide_platforms_index.md.html) in Cordova documentation.

On top of that, here are a few more recommendations.

### All platforms ###
- The computer must have access to internet as Cordova will download and cache files in %HOME%/.cordova folder
- Scripts must be run in a terminal with admin rights

### Android ###
Starts the adb daemon first, for example by typing *adb device* in the terminal.

### Blackberry 10 ###
Create a debug token named "blackberry10debugtoken.bar" for your device.
Install it on the device, and copy it in %HOME%/.cordova
More information on [developer.blackberry.com](https://developer.blackberry.com/android/documentation/running_unsigned_applications_using_a_debug_token_1727941_11.html)

*npm run-script blackberry10* will fail the first time is is run, simply rerun it.

Finally, device information must be edited in config section of the package.json file.

### iOS ###
Scripts cannot deploy the application automatically on a device, the project has to be opened in XCode.
But it can deploy it to the simulator, if [ios-sim](https://github.com/phonegap/ios-sim) is installed.

### Windows Phone 8 ###
Make sure that msbuild.exe 32bits version is in the PATH (e.g. C:\Windows\Microsoft.NET\Framework\v4.0.30319)

## Changelog ##

28th of October 2013
- Upgrade to AT 1.4-11
- New layout for tablet and desktop
- New flat design
- New UI components page: Editable List
- Improvement of the Sliders, Overlays and Tooltip pages
- Management of all dependencies with NPM (AT, iScroll, Cordova)
- New scripts to create, compile and deploy Cordova applications for Android, BlackBerry 10, iOS and Windows Phone 8
- Added resources (icons, splashcreens) for Cordova applications
- Added documentation

13th of August 2013
- Upgrade to AT 1.4-7
- Integration of new HTML widgets
- New "mobile-like" side menu
- Header animation decoupled from the main page one
- Address bar hiding in iOS browsers (Safari, Chrome)
- New About and Change Log pages

1st of August 2013
- Upgrade to AT 1.4-6
- Bug fixing
20 changes: 20 additions & 0 deletions build/build.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*
* Copyright 2013 Amadeus s.a.s.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/**
* It locally does the job of what a global installation of the grunt-cli npm module would do.
*/
var grunt = require('grunt');
grunt.cli();
44 changes: 44 additions & 0 deletions build/config/files-bootstrap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
[
"aria/Aria.js",
"aria/core/JsObject.js",
"aria/utils/Type.js",
"aria/utils/Array.js",
"aria/utils/QueryString.js",
"aria/utils/json/JsonSerializer.js",
"aria/utils/Json.js",
"aria/utils/Object.js",
"aria/core/Browser.js",
"aria/dom/DomReady.js",
"aria/core/Cache.js",
"aria/core/ClassLoader.js",
"aria/core/JsClassLoader.js",
"aria/core/ResClassLoader.js",
"aria/core/TplClassLoader.js",
"aria/core/CSSClassLoader.js",
"aria/core/TmlClassLoader.js",
"aria/core/CmlClassLoader.js",
"aria/core/TxtClassLoader.js",
"aria/core/ClassMgr.js",
"aria/core/DownloadMgr.js",
"aria/core/FileLoader.js",
"aria/core/Timer.js",
"aria/core/Interfaces.js",
"aria/core/transport/ITransports.js",
"aria/core/transport/BaseXHR.js",
"aria/core/transport/XHR.js",
"aria/core/transport/Local.js",
"aria/core/IOFiltersMgr.js",
"aria/core/IO.js",
"aria/core/MultiLoader.js",
"aria/core/JsonValidator.js",
"aria/core/JsonTypesCheck.js",
"aria/core/JsonTypes.js",
"aria/core/BaseTypes.js",
"aria/core/CfgBeans.js",
"aria/core/AppEnvironment.js",
"aria/core/environment/EnvironmentBaseCfgBeans.js",
"aria/core/environment/EnvironmentBase.js",
"aria/core/environment/Environment.js",
"aria/core/ResMgr.js",
"buildhelper.js"
]
5 changes: 5 additions & 0 deletions build/config/files-prod-localization.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[{
"name" : "aria/resources/pack-lang<%= locale %>.js",
"files" : ["aria/resources/DateRes<%= locale %>.js", "aria/resources/CalendarRes<%= locale %>.js",
"aria/resources/multiselect/FooterRes<%= locale %>.js"]
}]
157 changes: 157 additions & 0 deletions build/config/files-prod.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
[
{
"name": "aria/at_components.js",
"files": [
"aria/DomEvent.js",
"aria/utils/**/*",
"!aria/utils/Beans.js",
"!aria/utils/Bridge.js",
"!aria/utils/css/AnimationsBean.js",
"!aria/utils/Data.js",
"!aria/utils/Date.js",
"!aria/utils/Ellipsis.js",
"!aria/utils/environment/Date.js",
"!aria/utils/environment/DateCfgBeans.js",
"!aria/utils/environment/Number.js",
"!aria/utils/environment/NumberCfgBeans.js",
"!aria/utils/filters/DisplayXmlResponse.js",
"!aria/utils/FireDomEvent.js",
"!aria/utils/FrameATLoader.js",
"!aria/utils/FrameATLoaderHTML.html",
"!aria/utils/FunctionWriter.js",
"!aria/utils/History.js",
"!aria/utils/InheritanceNormalization.js",
"!aria/utils/json/ISerializer.js",
"!aria/utils/json/JsonSerializerBeans.js",
"!aria/utils/Mouse.js",
"!aria/utils/Number.js",
"!aria/utils/overlay/CloneOverlay.js",
"!aria/utils/Profiling.js",
"!aria/utils/ProfilingDisplay.tpl",
"!aria/utils/ProfilingDisplayScript.js",
"!aria/utils/Rand.js",
"!aria/utils/resize/Resize.js",
"!aria/utils/ScriptLoader.js",
"!aria/utils/StackHashMap.js",
"!aria/utils/String.js",
"!aria/utils/StringCallback.js",
"!aria/utils/SynEvents.js",
"!aria/utils/UtilsRes.js",
"!aria/utils/validators/Alpha.js",
"!aria/utils/validators/AlphaInternational.js",
"!aria/utils/validators/AlphaNum.js",
"!aria/utils/validators/CfgBeans.js",
"!aria/utils/validators/Email.js",
"!aria/utils/validators/IValidator.js",
"!aria/utils/validators/Mandatory.js",
"!aria/utils/validators/MinMaxLength.js",
"!aria/utils/validators/MultipleValidator.js",
"!aria/utils/validators/Number.js",
"!aria/utils/validators/Object.js",
"!aria/utils/validators/Phone.js",
"!aria/utils/validators/RegExp.js",
"!aria/utils/validators/String.js",
"!aria/utils/validators/Validator.js",
"!aria/utils/VisualFocus.js",
"!aria/utils/Xml.js"
]
},
{
"name": "aria/at_components.js",
"files": [
"aria/modules/**/*",
"!aria/modules/requestHandler/IRequestHandler.js",
"!aria/modules/requestHandler/JSONRequestHandler.js",
"!aria/modules/requestHandler/RequestHandler.js",
"!aria/modules/requestHandler/XMLRequestHandler.js",
"!aria/modules/urlService/IUrlService.js",
"!aria/modules/urlService/PatternURLCreationImpl.js"
]
},
{
"name": "aria/at_components.js",
"files": [
"aria/core/environment/Customizations.js",
"aria/core/environment/CustomizationsCfgBeans.js",
"aria/templates/*",
"!aria/templates/ClassGenerator.js",
"!aria/templates/ClassWriter.js",
"!aria/templates/CmlClassGenerator.js",
"!aria/templates/CSSClassGenerator.js",
"!aria/templates/CSSParser.js",
"!aria/templates/FlowCtrl.js",
"!aria/templates/IFlowCtrl.js",
"!aria/templates/LegacyGeneralStyle.tpl.css",
"!aria/templates/Parser.js",
"!aria/templates/Repeater.js",
"!aria/templates/Statements.js",
"!aria/templates/TextTemplate.js",
"!aria/templates/TmlClassGenerator.js",
"!aria/templates/TplClassGenerator.js",
"!aria/templates/TplParser.js",
"!aria/templates/TreeBeans.js",
"!aria/templates/TxtClassGenerator.js",
"!aria/templates/TxtCtxt.js",
"!aria/templates/TxtParser.js",
"!aria/templates/View.js",
"!aria/templates/ViewCfgBeans.js",
"aria/widgetLibs/*",
"aria/tools/contextual/environment/ContextualMenu.js",
"aria/tools/contextual/environment/ContextualMenuCfgBeans.js"
]
},
{
"name": "aria/at_components.js",
"files": [
"aria/html/**/*",
"!aria/html/beans/AutoCompleteCfg.js",
"!aria/html/beans/CheckBoxCfg.js",
"!aria/html/CheckBox.js"
]
},
{
"name": "aria/at_components.js",
"files": [
"aria/embed/*",
"!aria/embed/Map.js",
"!aria/embed/Element.js",
"!aria/embed/IEmbedController.js"
]
},
{
"name": "aria/at_components.js",
"files": [
"aria/pageEngine/**/*",
"!aria/pageEngine/contentProcessors/MarkdownProcessor.js",
"!aria/pageEngine/pageProviders/BasePageProviderBeans.js",
"!aria/pageEngine/utils/HistoryManager.js"
]
},
{
"name": "aria/at_components.js",
"files": [
"aria/storage/*",
"!aria/storage/Beans.js",
"!aria/storage/SessionStorage.js"
]
},
{
"name": "aria/at_components.js",
"files": [
"aria/touch/**/*",
"!aria/touch/widgets/*"
]
},
{
"name": "aria/at_kitchensink.js",
"files": [
"templates/**/*"
]
},
{
"name": "aria/at_kitchensink.js",
"files": [
"pageengine/**/*.js"
]
}
]
3 changes: 3 additions & 0 deletions build/config/jshint-build.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"node" : true
}
Loading

0 comments on commit 1ae1727

Please sign in to comment.