├── .bowerrc
├── .gitignore
├── README.md
├── bower.json
├── config.xml
├── gulpfile.js
├── hooks
├── .gitignore
└── README.md
├── ionic.project
├── package.json
├── platforms
└── .gitignore
├── plugins
├── .gitignore
├── com.ionic.keyboard
│ ├── .fetch.json
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── plugin.xml
│ ├── src
│ │ ├── android
│ │ │ └── IonicKeyboard.java
│ │ └── ios
│ │ │ ├── IonicKeyboard.h
│ │ │ ├── IonicKeyboard.m
│ │ │ ├── UIWebViewExtension.h
│ │ │ └── UIWebViewExtension.m
│ └── www
│ │ └── keyboard.js
├── org.apache.cordova.console
│ ├── .fetch.json
│ ├── CONTRIBUTING.md
│ ├── LICENSE
│ ├── NOTICE
│ ├── README.md
│ ├── RELEASENOTES.md
│ ├── doc
│ │ └── index.md
│ ├── package.json
│ ├── plugin.xml
│ ├── src
│ │ ├── ios
│ │ │ ├── CDVLogger.h
│ │ │ └── CDVLogger.m
│ │ ├── ubuntu
│ │ │ ├── console.cpp
│ │ │ └── console.h
│ │ └── wp
│ │ │ └── DebugConsole.cs
│ └── www
│ │ ├── console-via-logger.js
│ │ └── logger.js
└── org.apache.cordova.device
│ ├── .fetch.json
│ ├── CONTRIBUTING.md
│ ├── LICENSE
│ ├── NOTICE
│ ├── README.md
│ ├── RELEASENOTES.md
│ ├── doc
│ ├── de
│ │ └── index.md
│ ├── es
│ │ └── index.md
│ ├── fr
│ │ └── index.md
│ ├── index.md
│ ├── it
│ │ └── index.md
│ ├── ja
│ │ └── index.md
│ ├── ko
│ │ └── index.md
│ ├── pl
│ │ └── index.md
│ └── zh
│ │ └── index.md
│ ├── package.json
│ ├── plugin.xml
│ ├── src
│ ├── android
│ │ └── Device.java
│ ├── blackberry10
│ │ └── index.js
│ ├── firefoxos
│ │ └── DeviceProxy.js
│ ├── ios
│ │ ├── CDVDevice.h
│ │ └── CDVDevice.m
│ ├── tizen
│ │ └── DeviceProxy.js
│ ├── ubuntu
│ │ ├── device.cpp
│ │ ├── device.h
│ │ └── device.js
│ ├── windows8
│ │ └── DeviceProxy.js
│ └── wp
│ │ └── Device.cs
│ └── www
│ └── device.js
├── scss
└── ionic.app.scss
└── www
├── .gitignore
├── README.md
├── css
└── style.css
├── img
├── Thumbs.db
└── ionic.png
├── index.html
├── js
├── app.js
└── controllers.js
├── lib
├── datePicker
│ ├── css
│ │ └── angular-pickadate.css
│ └── js
│ │ └── angular-pickadate.js
└── ionic
│ ├── css
│ ├── ionic.css
│ └── ionic.min.css
│ ├── fonts
│ ├── ionicons.eot
│ ├── ionicons.svg
│ ├── ionicons.ttf
│ └── ionicons.woff
│ ├── ionicons
│ ├── _ionicons-animation.scss
│ ├── _ionicons-font.scss
│ ├── _ionicons-icons.scss
│ ├── _ionicons-variables.scss
│ └── ionicons.scss
│ ├── js
│ ├── angular-ui
│ │ ├── angular-ui-router.js
│ │ └── angular-ui-router.min.js
│ ├── angular
│ │ ├── angular-animate.js
│ │ ├── angular-animate.min.js
│ │ ├── angular-resource.js
│ │ ├── angular-resource.min.js
│ │ ├── angular-sanitize.js
│ │ ├── angular-sanitize.min.js
│ │ ├── angular.js
│ │ └── angular.min.js
│ ├── ionic-angular.js
│ ├── ionic-angular.min.js
│ ├── ionic.bundle.js
│ ├── ionic.bundle.min.js
│ ├── ionic.js
│ └── ionic.min.js
│ ├── scss
│ ├── _action-sheet.scss
│ ├── _animations.scss
│ ├── _backdrop.scss
│ ├── _badge.scss
│ ├── _bar.scss
│ ├── _button-bar.scss
│ ├── _button.scss
│ ├── _checkbox.scss
│ ├── _form.scss
│ ├── _grid.scss
│ ├── _items.scss
│ ├── _list.scss
│ ├── _loading.scss
│ ├── _menu.scss
│ ├── _mixins.scss
│ ├── _modal.scss
│ ├── _platform.scss
│ ├── _popup.scss
│ ├── _progress.scss
│ ├── _radio.scss
│ ├── _range.scss
│ ├── _reset.scss
│ ├── _scaffolding.scss
│ ├── _select.scss
│ ├── _slide-box.scss
│ ├── _split-pane.scss
│ ├── _tabs.scss
│ ├── _toggle.scss
│ ├── _type.scss
│ ├── _util.scss
│ ├── _variables.scss
│ ├── ionic.scss
│ └── ionicons
│ │ ├── _ionicons-animation.scss
│ │ ├── _ionicons-font.scss
│ │ ├── _ionicons-icons.scss
│ │ ├── _ionicons-variables.scss
│ │ └── ionicons.scss
│ └── version.json
└── templates
├── datemodal.html
├── datepicker.html
└── menu.html
/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "www/lib"
3 | }
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Ionic App Base
2 | =====================
3 |
4 | A starting project for Ionic that optionally supports
5 | using custom SCSS.
6 |
7 | ## Using this project
8 |
9 | We recommend using the `ionic` utility to create new Ionic projects that are based on this project but use a ready-made starter template.
10 |
11 | For example, to start a new Ionic project with the default tabs interface, make sure the `ionic` utility is installed:
12 |
13 | ```bash
14 | $ sudo npm install -g ionic
15 | ```
16 |
17 | Then run:
18 |
19 | ```bash
20 | $ sudo npm install -g ionic
21 | $ ionic start myProject tabs
22 | ```
23 |
24 | More info on this can be found on the Ionic [Getting Started](http://ionicframework.com/getting-started) page.
25 |
26 | ## Installation
27 |
28 | While we recommend using the `ionic` utility to create new Ionic projects, you can use this repo as a barebones starting point to your next Ionic app.
29 |
30 | To use this project as is, first clone the repo from GitHub, then run:
31 |
32 | ```bash
33 | $ cd ionic-app-base
34 | $ sudo npm install -g cordova ionic gulp
35 | $ npm install
36 | $ gulp install
37 | ```
38 |
39 | ## Using Sass (optional)
40 |
41 | This project makes it easy to use Sass (the SCSS syntax) in your projects. This enables you to override styles from Ionic, and benefit from
42 | Sass's great features.
43 |
44 | Just update the `./scss/ionic.app.scss` file, and run `gulp` or `gulp watch` to rebuild the CSS files for Ionic.
45 |
46 | Note: if you choose to use the Sass method, make sure to remove the included `ionic.css` file in `index.html`, and then uncomment
47 | the include to your `ionic.app.css` file which now contains all your Sass code and Ionic itself:
48 |
49 | ```html
50 |
53 | ```
54 |
55 | ## Updating Ionic
56 |
57 | To update to a new version of Ionic, open bower.json and change the version listed there.
58 |
59 | For example, to update from version `1.0.0-beta.4` to `1.0.0-beta.5`, open bower.json and change this:
60 |
61 | ```
62 | "ionic": "driftyco/ionic-bower#1.0.0-beta.4"
63 | ```
64 |
65 | To this:
66 |
67 | ```
68 | "ionic": "driftyco/ionic-bower#1.0.0-beta.5"
69 | ```
70 |
71 | After saving the update to bower.json file, run `gulp install`.
72 |
73 | Alternatively, install bower globally with `npm install -g bower` and run `bower install`.
74 |
75 | #### Using the Nightly Builds of Ionic
76 |
77 | If you feel daring and want use the bleeding edge 'Nightly' version of Ionic, change the version of Ionic in your bower.json to this:
78 |
79 | ```
80 | "ionic": "driftyco/ionic-bower#master"
81 | ```
82 |
83 | Warning: the nightly version is not stable.
84 |
85 |
86 | ## Issues
87 | Issues have been disabled on this repo, if you do find an issue or have a question consider posting it on the [Ionic Forum](http://forum.ionicframework.com/). Or else if there is truly an error, follow our guidelines for [submitting an issue](http://ionicframework.com/contribute/#issues) to the main Ionic repository. On the other hand, pull requests are welcome here!
88 |
89 |
--------------------------------------------------------------------------------
/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "HelloIonic",
3 | "private": "true",
4 | "devDependencies": {
5 | "ionic": "driftyco/ionic-bower#1.0.0-beta.9"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | HelloCordova
4 |
5 | An Ionic Framework and Cordova project.
6 |
7 |
8 | Ionic Framework Team
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var gutil = require('gulp-util');
3 | var bower = require('bower');
4 | var concat = require('gulp-concat');
5 | var sass = require('gulp-sass');
6 | var minifyCss = require('gulp-minify-css');
7 | var rename = require('gulp-rename');
8 | var sh = require('shelljs');
9 |
10 | var paths = {
11 | sass: ['./scss/**/*.scss']
12 | };
13 |
14 | gulp.task('default', ['sass']);
15 |
16 | gulp.task('sass', function(done) {
17 | gulp.src('./scss/ionic.app.scss')
18 | .pipe(sass())
19 | .pipe(gulp.dest('./www/css/'))
20 | .pipe(minifyCss({
21 | keepSpecialComments: 0
22 | }))
23 | .pipe(rename({ extname: '.min.css' }))
24 | .pipe(gulp.dest('./www/css/'))
25 | .on('end', done);
26 | });
27 |
28 | gulp.task('watch', function() {
29 | gulp.watch(paths.sass, ['sass']);
30 | });
31 |
32 | gulp.task('install', ['git-check'], function() {
33 | return bower.commands.install()
34 | .on('log', function(data) {
35 | gutil.log('bower', gutil.colors.cyan(data.id), data.message);
36 | });
37 | });
38 |
39 | gulp.task('git-check', function(done) {
40 | if (!sh.which('git')) {
41 | console.log(
42 | ' ' + gutil.colors.red('Git is not installed.'),
43 | '\n Git, the version control system, is required to download Ionic.',
44 | '\n Download git here:', gutil.colors.cyan('http://git-scm.com/downloads') + '.',
45 | '\n Once git is installed, run \'' + gutil.colors.cyan('gulp install') + '\' again.'
46 | );
47 | process.exit(1);
48 | }
49 | done();
50 | });
51 |
--------------------------------------------------------------------------------
/hooks/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshilomas/DatePicker-IonicApp/9403fe778b54161eb16efd364bad97d8e751e2df/hooks/.gitignore
--------------------------------------------------------------------------------
/hooks/README.md:
--------------------------------------------------------------------------------
1 |
21 | # Cordova Hooks
22 |
23 | This directory may contain scripts used to customize cordova commands. This
24 | directory used to exist at `.cordova/hooks`, but has now been moved to the
25 | project root. Any scripts you add to these directories will be executed before
26 | and after the commands corresponding to the directory name. Useful for
27 | integrating your own build systems or integrating with version control systems.
28 |
29 | __Remember__: Make your scripts executable.
30 |
31 | ## Hook Directories
32 | The following subdirectories will be used for hooks:
33 |
34 | after_build/
35 | after_compile/
36 | after_docs/
37 | after_emulate/
38 | after_platform_add/
39 | after_platform_rm/
40 | after_platform_ls/
41 | after_plugin_add/
42 | after_plugin_ls/
43 | after_plugin_rm/
44 | after_plugin_search/
45 | after_prepare/
46 | after_run/
47 | after_serve/
48 | before_build/
49 | before_compile/
50 | before_docs/
51 | before_emulate/
52 | before_platform_add/
53 | before_platform_rm/
54 | before_platform_ls/
55 | before_plugin_add/
56 | before_plugin_ls/
57 | before_plugin_rm/
58 | before_plugin_search/
59 | before_prepare/
60 | before_run/
61 | before_serve/
62 | pre_package/ <-- Windows 8 and Windows Phone only.
63 |
64 | ## Script Interface
65 |
66 | All scripts are run from the project's root directory and have the root directory passes as the first argument. All other options are passed to the script using environment variables:
67 |
68 | * CORDOVA_VERSION - The version of the Cordova-CLI.
69 | * CORDOVA_PLATFORMS - Comma separated list of platforms that the command applies to (e.g.: android, ios).
70 | * CORDOVA_PLUGINS - Comma separated list of plugin IDs that the command applies to (e.g.: org.apache.cordova.file, org.apache.cordova.file-transfer)
71 | * CORDOVA_HOOK - Path to the hook that is being executed.
72 | * CORDOVA_CMDLINE - The exact command-line arguments passed to cordova (e.g.: cordova run ios --emulate)
73 |
74 | If a script returns a non-zero exit code, then the parent cordova command will be aborted.
75 |
76 |
77 | ## Writing hooks
78 |
79 | We highly recommend writting your hooks using Node.js so that they are
80 | cross-platform. Some good examples are shown here:
81 |
82 | [http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/](http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/)
83 |
84 |
--------------------------------------------------------------------------------
/ionic.project:
--------------------------------------------------------------------------------
1 | {
2 | "name": "datepickerapp",
3 | "email": "",
4 | "app_id": "",
5 | "package_name": ""
6 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ionic-project",
3 | "version": "1.0.0",
4 | "description": "An Ionic project",
5 | "dependencies": {
6 | "gulp": "^3.5.6",
7 | "gulp-sass": "^0.7.1",
8 | "gulp-concat": "^2.2.0",
9 | "gulp-minify-css": "^0.3.0",
10 | "gulp-rename": "^1.2.0"
11 | },
12 | "devDependencies": {
13 | "bower": "^1.3.3",
14 | "gulp-util": "^2.2.14",
15 | "shelljs": "^0.3.0"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/platforms/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshilomas/DatePicker-IonicApp/9403fe778b54161eb16efd364bad97d8e751e2df/platforms/.gitignore
--------------------------------------------------------------------------------
/plugins/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshilomas/DatePicker-IonicApp/9403fe778b54161eb16efd364bad97d8e751e2df/plugins/.gitignore
--------------------------------------------------------------------------------
/plugins/com.ionic.keyboard/.fetch.json:
--------------------------------------------------------------------------------
1 | {"source":{"type":"git","url":"https://github.com/driftyco/ionic-plugins-keyboard","subdir":"."}}
--------------------------------------------------------------------------------
/plugins/com.ionic.keyboard/README.md:
--------------------------------------------------------------------------------
1 | Keyboard
2 | ======
3 |
4 | The `cordova.plugins.Keyboard` object provides functions to make interacting with the keyboard easier, and fires events to indicate that the keyboard will hide/show.
5 |
6 | cordova plugin add https://github.com/driftyco/ionic-plugins-keyboard.git
7 |
8 | Methods
9 | -------
10 |
11 | - cordova.plugins.Keyboard.hideKeyboardAccessoryBar
12 | - cordova.plugins.Keyboard.close
13 | - cordova.plugins.Keyboard.disableScroll
14 |
15 | Properties
16 | --------
17 |
18 | - cordova.plugins.Keyboard.isVisible
19 |
20 | Events
21 | --------
22 |
23 | These events are fired on the window.
24 |
25 | - native.keyboardshow
26 | * A number `keyboardHeight` is given on the event object, which is the pixel height of the keyboard.
27 | - native.keyboardhide
28 |
29 | Permissions
30 | -----------
31 |
32 | #### config.xml
33 |
34 |
35 |
36 |
37 |
38 |
39 | Keyboard.hideKeyboardAccessoryBar
40 | =================
41 |
42 | Hide the keyboard accessory bar with the next, previous and done buttons.
43 |
44 | cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
45 | cordova.plugins.Keyboard.hideKeyboardAccessoryBar(false);
46 |
47 | Supported Platforms
48 | -------------------
49 |
50 | - iOS
51 |
52 |
53 | Keyboard.close
54 | =================
55 |
56 | Close the keyboard if it is open.
57 |
58 | cordova.plugins.Keyboard.close();
59 |
60 | Supported Platforms
61 | -------------------
62 |
63 | - iOS, Android
64 |
65 |
66 | Keyboard.disableScroll
67 | =================
68 |
69 | Disable native scrolling, useful if you are using JavaScript to scroll
70 |
71 | cordova.plugins.Keyboard.disableScroll(true);
72 | cordova.plugins.Keyboard.disableScroll(false);
73 |
74 | Supported Platforms
75 | -------------------
76 |
77 | - iOS
78 |
79 |
80 | native.keyboardshow
81 | =================
82 |
83 | This event fires when the keyboard will be shown
84 |
85 | window.addEventListener('native.keyboardshow', keyboardShowHandler);
86 |
87 | function keyboardShowHandler(e){
88 | alert('Keyboard height is: ' + e.keyboardHeight);
89 | }
90 |
91 | Properties
92 | -----------
93 |
94 | keyboardHeight: the height of the keyboard in pixels
95 |
96 |
97 | Supported Platforms
98 | -------------------
99 |
100 | - iOS, Android
101 |
102 |
103 | native.keyboardhide
104 | =================
105 |
106 | This event fires when the keyboard will hide
107 |
108 | window.addEventListener('native.keyboardhide', keyboardHideHandler);
109 |
110 | function keyboardHideHandler(e){
111 | alert('Goodnight, sweet prince');
112 | }
113 |
114 | Properties
115 | -----------
116 |
117 | None
118 |
119 | Supported Platforms
120 | -------------------
121 |
122 | - iOS, Android
123 |
--------------------------------------------------------------------------------
/plugins/com.ionic.keyboard/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.0.2",
3 | "name": "com.ionic.keyboard",
4 | "cordova_name": "Keyboard",
5 | "description": "Ionic Keyboard Plugin",
6 | "repo": "https://github.com/driftyco/ionic-plugins-keyboard.git",
7 | "issue": "https://github.com/driftyco/ionic-plugins-keyboard/issues",
8 | "license": "MIT",
9 | "keywords": [
10 | "ionic",
11 | "keyboard"
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/plugins/com.ionic.keyboard/plugin.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 | Keyboard
7 | Ionic Keyboard Plugin
8 | Apache 2.0
9 | Ionic,keyboard
10 | https://github.com/driftyco/ionic-plugins-keyboard.git
11 | https://github.com/driftyco/ionic-plugins-keyboard/issues
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/plugins/com.ionic.keyboard/src/android/IonicKeyboard.java:
--------------------------------------------------------------------------------
1 | package com.ionic.keyboard;
2 |
3 | import org.apache.cordova.CallbackContext;
4 | import org.apache.cordova.CordovaInterface;
5 | import org.apache.cordova.CordovaPlugin;
6 | import org.apache.cordova.CordovaWebView;
7 | import org.apache.cordova.PluginResult.Status;
8 | import org.json.JSONArray;
9 | import org.json.JSONException;
10 |
11 | import android.content.Context;
12 | import android.graphics.Rect;
13 | import android.util.DisplayMetrics;
14 | import android.view.View;
15 | import android.view.ViewTreeObserver.OnGlobalLayoutListener;
16 | import android.view.inputmethod.InputMethodManager;
17 |
18 | public class IonicKeyboard extends CordovaPlugin{
19 |
20 | public void initialize(CordovaInterface cordova, CordovaWebView webView) {
21 | super.initialize(cordova, webView);
22 |
23 | //calculate density-independent pixels (dp)
24 | //http://developer.android.com/guide/practices/screens_support.html
25 | DisplayMetrics dm = new DisplayMetrics();
26 | cordova.getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
27 | final float density = dm.density;
28 |
29 | final CordovaWebView appView = webView;
30 |
31 | //http://stackoverflow.com/a/4737265/1091751 detect if keyboard is showing
32 | final View rootView = cordova.getActivity().getWindow().getDecorView().findViewById(android.R.id.content).getRootView();
33 | OnGlobalLayoutListener list = new OnGlobalLayoutListener() {
34 | int previousHeightDiff = 0;
35 | @Override
36 | public void onGlobalLayout() {
37 | Rect r = new Rect();
38 | //r will be populated with the coordinates of your view that area still visible.
39 | rootView.getWindowVisibleDisplayFrame(r);
40 |
41 | int heightDiff = rootView.getRootView().getHeight() - (r.bottom - r.top);
42 | int pixelHeightDiff = (int)(heightDiff / density);
43 | if (pixelHeightDiff > 100 && pixelHeightDiff != previousHeightDiff) { // if more than 100 pixels, its probably a keyboard...
44 | appView.sendJavascript("cordova.plugins.Keyboard.isVisible = true");
45 | appView.sendJavascript("cordova.fireWindowEvent('native.keyboardshow', { 'keyboardHeight':" + Integer.toString(pixelHeightDiff)+"});");
46 |
47 | //deprecated
48 | appView.sendJavascript("cordova.fireWindowEvent('native.showkeyboard', { 'keyboardHeight':" + Integer.toString(pixelHeightDiff)+"});");
49 | }
50 | else if ( pixelHeightDiff != previousHeightDiff && ( previousHeightDiff - pixelHeightDiff ) > 100 ){
51 | appView.sendJavascript("cordova.plugins.Keyboard.isVisible = false");
52 | appView.sendJavascript("cordova.fireWindowEvent('native.keyboardhide')");
53 |
54 | //deprecated
55 | appView.sendJavascript("cordova.fireWindowEvent('native.hidekeyboard')");
56 | }
57 | previousHeightDiff = pixelHeightDiff;
58 | }
59 | };
60 |
61 | rootView.getViewTreeObserver().addOnGlobalLayoutListener(list);
62 | }
63 |
64 | public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {
65 | if ("close".equals(action)) {
66 | cordova.getThreadPool().execute(new Runnable() {
67 | public void run() {
68 | //http://stackoverflow.com/a/7696791/1091751
69 | InputMethodManager inputManager = (InputMethodManager) cordova.getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
70 | View v = cordova.getActivity().getCurrentFocus();
71 |
72 | if (v == null) {
73 | callbackContext.error("No current focus");
74 | }
75 | inputManager.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
76 | callbackContext.success(); // Thread-safe.
77 | }
78 | });
79 | return true;
80 | }
81 | return false; // Returning false results in a "MethodNotFound" error.
82 | }
83 |
84 |
85 | }
86 |
87 |
--------------------------------------------------------------------------------
/plugins/com.ionic.keyboard/src/ios/IonicKeyboard.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface IonicKeyboard : CDVPlugin {
4 | @protected
5 | id _keyboardShowObserver, _keyboardHideObserver;
6 | }
7 |
8 | @property (readwrite, assign) BOOL hideKeyboardAccessoryBar;
9 | @property (readwrite, assign) BOOL disableScroll;
10 | //@property (readwrite, assign) BOOL styleDark;
11 |
12 | @end
13 |
14 |
--------------------------------------------------------------------------------
/plugins/com.ionic.keyboard/src/ios/IonicKeyboard.m:
--------------------------------------------------------------------------------
1 | #import "IonicKeyboard.h"
2 | #import "UIWebViewExtension.h"
3 | #import
4 |
5 | @implementation IonicKeyboard
6 |
7 | @synthesize hideKeyboardAccessoryBar = _hideKeyboardAccessoryBar;
8 | @synthesize disableScroll = _disableScroll;
9 | //@synthesize styleDark = _styleDark;
10 |
11 | - (void)pluginInitialize {
12 |
13 | NSNotificationCenter* nc = [NSNotificationCenter defaultCenter];
14 | __weak IonicKeyboard* weakSelf = self;
15 |
16 | //set defaults
17 | self.hideKeyboardAccessoryBar = NO;
18 | self.disableScroll = NO;
19 | //self.styleDark = NO;
20 |
21 | _keyboardShowObserver = [nc addObserverForName:UIKeyboardWillShowNotification
22 | object:nil
23 | queue:[NSOperationQueue mainQueue]
24 | usingBlock:^(NSNotification* notification) {
25 |
26 | CGRect keyboardFrame = [notification.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
27 | keyboardFrame = [self.viewController.view convertRect:keyboardFrame fromView:nil];
28 |
29 | [weakSelf.commandDelegate evalJs:[NSString stringWithFormat:@"cordova.plugins.Keyboard.isVisible = true; cordova.fireWindowEvent('native.keyboardshow', { 'keyboardHeight': %@ }); ", [@(keyboardFrame.size.height) stringValue]]];
30 |
31 | //deprecated
32 | [weakSelf.commandDelegate evalJs:[NSString stringWithFormat:@"cordova.fireWindowEvent('native.showkeyboard', { 'keyboardHeight': %@ }); ", [@(keyboardFrame.size.height) stringValue]]];
33 | }];
34 |
35 | _keyboardHideObserver = [nc addObserverForName:UIKeyboardWillHideNotification
36 | object:nil
37 | queue:[NSOperationQueue mainQueue]
38 | usingBlock:^(NSNotification* notification) {
39 | [weakSelf.commandDelegate evalJs:@"cordova.plugins.Keyboard.isVisible = false; cordova.fireWindowEvent('native.keyboardhide'); "];
40 |
41 | //deprecated
42 | [weakSelf.commandDelegate evalJs:@"cordova.fireWindowEvent('native.hidekeyboard'); "];
43 | }];
44 | }
45 | - (BOOL)disableScroll {
46 | return _disableScroll;
47 | }
48 |
49 | - (void)setDisableScroll:(BOOL)disableScroll {
50 | if (disableScroll == _disableScroll) {
51 | return;
52 | }
53 | if (disableScroll) {
54 | self.webView.scrollView.scrollEnabled = NO;
55 | self.webView.scrollView.delegate = self;
56 | }
57 | else {
58 | self.webView.scrollView.scrollEnabled = YES;
59 | self.webView.scrollView.delegate = nil;
60 | }
61 |
62 | _disableScroll = disableScroll;
63 | }
64 |
65 |
66 | - (BOOL)hideKeyboardAccessoryBar {
67 | return _hideKeyboardAccessoryBar;
68 | }
69 |
70 | - (void)setHideKeyboardAccessoryBar:(BOOL)hideKeyboardAccessoryBar {
71 | if (hideKeyboardAccessoryBar == _hideKeyboardAccessoryBar) {
72 | return;
73 | }
74 | if (hideKeyboardAccessoryBar) {
75 | self.webView.hackishlyHidesInputAccessoryView = YES;
76 | }
77 | else {
78 | self.webView.hackishlyHidesInputAccessoryView = NO;
79 | }
80 |
81 | _hideKeyboardAccessoryBar = hideKeyboardAccessoryBar;
82 | }
83 |
84 | /*
85 | - (BOOL)styleDark {
86 | return _styleDark;
87 | }
88 |
89 | - (void)setStyleDark:(BOOL)styleDark {
90 | if (styleDark == _styleDark) {
91 | return;
92 | }
93 | if (styleDark) {
94 | self.webView.styleDark = YES;
95 | }
96 | else {
97 | self.webView.styleDark = NO;
98 | }
99 |
100 | _styleDark = styleDark;
101 | }
102 | */
103 |
104 |
105 | /* ------------------------------------------------------------- */
106 |
107 | - (void)scrollViewDidScroll:(UIScrollView *)scrollView {
108 | [scrollView setContentOffset: CGPointZero];
109 | }
110 |
111 | /* ------------------------------------------------------------- */
112 |
113 | - (void)dealloc {
114 | NSNotificationCenter* nc = [NSNotificationCenter defaultCenter];
115 |
116 | [nc removeObserver:self name:UIKeyboardWillShowNotification object:nil];
117 | [nc removeObserver:self name:UIKeyboardWillHideNotification object:nil];
118 | }
119 |
120 | /* ------------------------------------------------------------- */
121 |
122 | - (void) disableScroll:(CDVInvokedUrlCommand*)command {
123 | if (!command.arguments || ![command.arguments count]){
124 | return;
125 | }
126 | id value = [command.arguments objectAtIndex:0];
127 |
128 | self.disableScroll = [value boolValue];
129 | }
130 |
131 | - (void) hideKeyboardAccessoryBar:(CDVInvokedUrlCommand*)command {
132 | if (!command.arguments || ![command.arguments count]){
133 | return;
134 | }
135 | id value = [command.arguments objectAtIndex:0];
136 |
137 | self.hideKeyboardAccessoryBar = [value boolValue];
138 | }
139 |
140 | - (void) close:(CDVInvokedUrlCommand*)command {
141 | [self.webView endEditing:YES];
142 | }
143 |
144 | /*
145 | - (void) styleDark:(CDVInvokedUrlCommand*)command {
146 | if (!command.arguments || ![command.arguments count]){
147 | return;
148 | }
149 | id value = [command.arguments objectAtIndex:0];
150 |
151 | self.styleDark = [value boolValue];
152 | }
153 | */
154 |
155 | @end
156 |
157 |
--------------------------------------------------------------------------------
/plugins/com.ionic.keyboard/src/ios/UIWebViewExtension.h:
--------------------------------------------------------------------------------
1 | @interface UIWebView (HackishAccessoryHiding)
2 | @property (nonatomic, assign) BOOL hackishlyHidesInputAccessoryView;
3 | //@property (nonatomic, assign) BOOL styleDark;
4 | @end
5 |
--------------------------------------------------------------------------------
/plugins/com.ionic.keyboard/src/ios/UIWebViewExtension.m:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import "UIWebViewExtension.h"
4 |
5 | //Credit: https://gist.github.com/bjhomer/2048571
6 | //Also: http://stackoverflow.com/a/23398487/1091751
7 | @implementation UIWebView (HackishAccessoryHiding)
8 |
9 | static const char * const hackishFixClassName = "UIWebBrowserViewMinusAccessoryView";
10 | static Class hackishFixClass = Nil;
11 |
12 | - (UIView *)hackishlyFoundBrowserView {
13 | UIScrollView *scrollView = self.scrollView;
14 |
15 | UIView *browserView = nil;
16 | for (UIView *subview in scrollView.subviews) {
17 | if ([NSStringFromClass([subview class]) hasPrefix:@"UIWebBrowserView"]) {
18 | browserView = subview;
19 | break;
20 | }
21 | }
22 | return browserView;
23 | }
24 |
25 | - (id)methodReturningNil {
26 | return nil;
27 | }
28 |
29 | - (void)ensureHackishSubclassExistsOfBrowserViewClass:(Class)browserViewClass {
30 | if (!hackishFixClass) {
31 | Class newClass = objc_allocateClassPair(browserViewClass, hackishFixClassName, 0);
32 | IMP nilImp = [self methodForSelector:@selector(methodReturningNil)];
33 | class_addMethod(newClass, @selector(inputAccessoryView), nilImp, "@@:");
34 | objc_registerClassPair(newClass);
35 |
36 | hackishFixClass = newClass;
37 | }
38 | }
39 |
40 | - (BOOL) hackishlyHidesInputAccessoryView {
41 | UIView *browserView = [self hackishlyFoundBrowserView];
42 | return [browserView class] == hackishFixClass;
43 | }
44 |
45 | - (void) setHackishlyHidesInputAccessoryView:(BOOL)value {
46 | UIView *browserView = [self hackishlyFoundBrowserView];
47 | if (browserView == nil) {
48 | return;
49 | }
50 | [self ensureHackishSubclassExistsOfBrowserViewClass:[browserView class]];
51 |
52 | if (value) {
53 | object_setClass(browserView, hackishFixClass);
54 | }
55 | else {
56 | Class normalClass = objc_getClass("UIWebBrowserView");
57 | object_setClass(browserView, normalClass);
58 | }
59 | [browserView reloadInputViews];
60 | }
61 | /* ---------------------------------------------------------------- */
62 |
63 | /*
64 | - (UIKeyboardAppearance) darkKeyboardAppearanceTemplateMethod {
65 | return UIKeyboardAppearanceDark;
66 | }
67 |
68 | - (UIKeyboardAppearance) lightKeyboardAppearanceTemplateMethod {
69 | return UIKeyboardAppearanceLight;
70 | }
71 |
72 | - (BOOL) styleDark {
73 | UIView *browserView = [self hackishlyFoundBrowserView];
74 | if (browserView == nil) {
75 | return false;
76 | }
77 |
78 | Method m = class_getInstanceMethod( [self class], @selector( darkKeyboardAppearanceTemplateMethod ) );
79 | IMP imp = method_getImplementation( m );
80 |
81 | Method m2 = class_getInstanceMethod( [browserView class], @selector(keyboardAppearance) );
82 | IMP imp2 = method_getImplementation( m2 );
83 |
84 | return imp == imp2;
85 | }
86 |
87 | - (void) setStyleDark:(BOOL)styleDark {
88 | UIView *browserView = [self hackishlyFoundBrowserView];
89 | if (browserView == nil) {
90 | return;
91 | }
92 |
93 | if ( styleDark ) {
94 | Method m = class_getInstanceMethod( [self class], @selector( darkKeyboardAppearanceTemplateMethod ) );
95 | IMP imp = method_getImplementation( m );
96 | const char* typeEncoding = method_getTypeEncoding( m );
97 | class_replaceMethod( [browserView class], @selector(keyboardAppearance), imp, typeEncoding );
98 | }
99 | else {
100 | Method m = class_getInstanceMethod( [self class], @selector( lightKeyboardAppearanceTemplateMethod ) );
101 | IMP imp = method_getImplementation( m );
102 | const char* typeEncoding = method_getTypeEncoding( m );
103 | class_replaceMethod( [browserView class], @selector(keyboardAppearance), imp, typeEncoding );
104 | }
105 | }
106 | */
107 |
108 | @end
109 |
110 |
--------------------------------------------------------------------------------
/plugins/com.ionic.keyboard/www/keyboard.js:
--------------------------------------------------------------------------------
1 |
2 | var argscheck = require('cordova/argscheck'),
3 | utils = require('cordova/utils'),
4 | exec = require('cordova/exec');
5 |
6 | var Keyboard = function() {
7 | };
8 |
9 | Keyboard.hideKeyboardAccessoryBar = function(hide) {
10 | exec(null, null, "Keyboard", "hideKeyboardAccessoryBar", [hide]);
11 | };
12 |
13 | Keyboard.close = function() {
14 | exec(null, null, "Keyboard", "close", []);
15 | };
16 |
17 | Keyboard.disableScroll = function(disable) {
18 | exec(null, null, "Keyboard", "disableScroll", [disable]);
19 | };
20 |
21 | /*
22 | Keyboard.styleDark = function(dark) {
23 | exec(null, null, "Keyboard", "styleDark", [dark]);
24 | };
25 | */
26 |
27 | Keyboard.isVisible = false;
28 |
29 | module.exports = Keyboard;
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/.fetch.json:
--------------------------------------------------------------------------------
1 | {"source":{"type":"local","path":"C:\\Users\\YM\\.plugman\\cache\\org.apache.cordova.console\\0.2.9\\package"}}
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 |
21 |
22 | # Contributing to Apache Cordova
23 |
24 | Anyone can contribute to Cordova. And we need your contributions.
25 |
26 | There are multiple ways to contribute: report bugs, improve the docs, and
27 | contribute code.
28 |
29 | For instructions on this, start with the
30 | [contribution overview](http://cordova.apache.org/#contribute).
31 |
32 | The details are explained there, but the important items are:
33 | - Sign and submit an Apache ICLA (Contributor License Agreement).
34 | - Have a Jira issue open that corresponds to your contribution.
35 | - Run the tests so your patch doesn't break existing functionality.
36 |
37 | We look forward to your contributions!
38 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/NOTICE:
--------------------------------------------------------------------------------
1 | Apache Cordova
2 | Copyright 2012 The Apache Software Foundation
3 |
4 | This product includes software developed at
5 | The Apache Software Foundation (http://www.apache.org/).
6 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/README.md:
--------------------------------------------------------------------------------
1 |
19 |
20 | # org.apache.cordova.console
21 |
22 | Plugin documentation: [doc/index.md](doc/index.md)
23 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/RELEASENOTES.md:
--------------------------------------------------------------------------------
1 |
21 | # Release Notes
22 |
23 | ### 0.2.3 (Sept 25, 2013)
24 | * CB-4889 bumping&resetting version
25 | * CB-4889 renaming org.apache.cordova.core.console to org.apache.cordova.console
26 | * Rename CHANGELOG.md -> RELEASENOTES.md
27 | * [CB-4752] Incremented plugin version on dev branch.
28 |
29 | ### 0.2.4 (Oct 28, 2013)
30 | * CB-5154 log formatting incorrectly to native
31 | * CB-5128: added repo + issue tag to plugin.xml for console plugin
32 | * [CB-4915] Incremented plugin version on dev branch.
33 |
34 | ### 0.2.5 (Dec 4, 2013)
35 | * add ubuntu platform
36 |
37 | ### 0.2.6 (Jan 02, 2014)
38 | * CB-5658 Add doc/index.md for Console plugin
39 |
40 | ### 0.2.7 (Feb 05, 2014)
41 | * Native console needs to be called DebugConsole to avoid ambiguous reference. This commit requires the 3.4.0 version of the native class factory
42 | * CB-4718 fixed Console plugin not working on wp
43 |
44 | ### 0.2.8 (Apr 17, 2014)
45 | * CB-6460: Update license headers
46 | * Add NOTICE file
47 |
48 | ### 0.2.9 (Jun 05, 2014)
49 | * CB-6848 Add Android quirk, list applicable platforms
50 | * CB-6796 Add license
51 | * CB-6491 add CONTRIBUTING.md
52 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/doc/index.md:
--------------------------------------------------------------------------------
1 |
19 |
20 | # org.apache.cordova.console
21 |
22 | This plugin is meant to ensure that console.log() is as useful as it can be.
23 | It adds additional function for iOS, Ubuntu, Windows Phone 8, and Windows 8. If
24 | you are happy with how console.log() works for you, then you probably
25 | don't need this plugin.
26 |
27 | ## Installation
28 |
29 | cordova plugin add org.apache.cordova.console
30 |
31 | ### Android Quirks
32 |
33 | On some platforms other than Android, console.log() will act on multiple
34 | arguments, such as console.log("1", "2", "3"). However, Android will act only
35 | on the first argument. Subsequent arguments to console.log() will be ignored.
36 | This plugin is not the cause of that, it is a limitation of Android itself.
37 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.9",
3 | "name": "org.apache.cordova.console",
4 | "cordova_name": "Console",
5 | "description": "Cordova Console Plugin",
6 | "license": "Apache 2.0",
7 | "repo": "https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git",
8 | "issue": "https://issues.apache.org/jira/browse/CB/component/12320644",
9 | "keywords": [
10 | "cordova",
11 | "console"
12 | ],
13 | "platforms": [
14 | "ios",
15 | "ubuntu",
16 | "wp7",
17 | "wp8",
18 | "windows8"
19 | ],
20 | "engines": [],
21 | "englishdoc": "\n\n# org.apache.cordova.console\n\nThis plugin is meant to ensure that console.log() is as useful as it can be.\nIt adds additional function for iOS, Ubuntu, Windows Phone 8, and Windows 8. If\nyou are happy with how console.log() works for you, then you probably\ndon't need this plugin.\n\n## Installation\n\n cordova plugin add org.apache.cordova.console\n\n### Android Quirks\n\nOn some platforms other than Android, console.log() will act on multiple\narguments, such as console.log(\"1\", \"2\", \"3\"). However, Android will act only\non the first argument. Subsequent arguments to console.log() will be ignored.\nThis plugin is not the cause of that, it is a limitation of Android itself.\n"
22 | }
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/plugin.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
24 |
25 | Console
26 | Cordova Console Plugin
27 | Apache 2.0
28 | cordova,console
29 | https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git
30 | https://issues.apache.org/jira/browse/CB/component/12320644
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/src/ios/CDVLogger.h:
--------------------------------------------------------------------------------
1 | /*
2 | Licensed to the Apache Software Foundation (ASF) under one
3 | or more contributor license agreements. See the NOTICE file
4 | distributed with this work for additional information
5 | regarding copyright ownership. The ASF licenses this file
6 | to you under the Apache License, Version 2.0 (the
7 | "License"); you may not use this file except in compliance
8 | with the License. You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing,
13 | software distributed under the License is distributed on an
14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | KIND, either express or implied. See the License for the
16 | specific language governing permissions and limitations
17 | under the License.
18 | */
19 |
20 | #import
21 |
22 | @interface CDVLogger : CDVPlugin
23 |
24 | - (void)logLevel:(CDVInvokedUrlCommand*)command;
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/src/ios/CDVLogger.m:
--------------------------------------------------------------------------------
1 | /*
2 | Licensed to the Apache Software Foundation (ASF) under one
3 | or more contributor license agreements. See the NOTICE file
4 | distributed with this work for additional information
5 | regarding copyright ownership. The ASF licenses this file
6 | to you under the Apache License, Version 2.0 (the
7 | "License"); you may not use this file except in compliance
8 | with the License. You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing,
13 | software distributed under the License is distributed on an
14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | KIND, either express or implied. See the License for the
16 | specific language governing permissions and limitations
17 | under the License.
18 | */
19 |
20 | #import "CDVLogger.h"
21 | #import
22 |
23 | @implementation CDVLogger
24 |
25 | /* log a message */
26 | - (void)logLevel:(CDVInvokedUrlCommand*)command
27 | {
28 | id level = [command.arguments objectAtIndex:0];
29 | id message = [command.arguments objectAtIndex:1];
30 |
31 | if ([level isEqualToString:@"LOG"]) {
32 | NSLog(@"%@", message);
33 | } else {
34 | NSLog(@"%@: %@", level, message);
35 | }
36 | }
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/src/ubuntu/console.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 |
15 | #include "console.h"
16 |
17 | #include
18 |
19 | Console::Console(Cordova *cordova) : CPlugin(cordova) {
20 | }
21 |
22 | void Console::logLevel(int scId, int ecId, QString level, QString message) {
23 | Q_UNUSED(scId)
24 | Q_UNUSED(ecId)
25 |
26 | if (level != "LOG")
27 | std::cout << "[" << level.toStdString() << "] ";
28 | std::cout << message.toStdString() << std::endl;
29 | }
30 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/src/ubuntu/console.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 |
15 | #ifndef CONSOLE_H_FDSVCXGFRS
16 | #define CONSOLE_H_FDSVCXGFRS
17 |
18 | #include
19 |
20 | #include
21 |
22 | class Console : public CPlugin {
23 | Q_OBJECT
24 | public:
25 | explicit Console(Cordova *cordova);
26 |
27 | virtual const QString fullName() override {
28 | return Console::fullID();
29 | }
30 |
31 | virtual const QString shortName() override {
32 | return "Console";
33 | }
34 |
35 | static const QString fullID() {
36 | return "Console";
37 | }
38 |
39 | public slots:
40 | void logLevel(int scId, int ecId, QString level, QString message);
41 | };
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.console/src/wp/DebugConsole.cs:
--------------------------------------------------------------------------------
1 | /*
2 | Licensed under the Apache License, Version 2.0 (the "License");
3 | you may not use this file except in compliance with the License.
4 | You may obtain a copy of the License at
5 |
6 | http://www.apache.org/licenses/LICENSE-2.0
7 |
8 | Unless required by applicable law or agreed to in writing, software
9 | distributed under the License is distributed on an "AS IS" BASIS,
10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | See the License for the specific language governing permissions and
12 | limitations under the License.
13 | */
14 |
15 | using System;
16 | using System.Net;
17 | using System.Windows;
18 | using System.Windows.Controls;
19 | using System.Windows.Documents;
20 | using System.Windows.Ink;
21 | using System.Windows.Input;
22 | using System.Windows.Media;
23 | using System.Windows.Media.Animation;
24 | using System.Windows.Shapes;
25 | using System.Diagnostics;
26 |
27 | namespace WPCordovaClassLib.Cordova.Commands
28 | {
29 | public class DebugConsole : BaseCommand
30 | {
31 | public void logLevel(string options)
32 | {
33 | string[] args = JSON.JsonHelper.Deserialize(options);
34 | string level = args[0];
35 | string msg = args[1];
36 |
37 | if (level.Equals("LOG"))
38 | {
39 | Debug.WriteLine(msg);
40 | }
41 | else
42 | {
43 | Debug.WriteLine(level + ": " + msg);
44 | }
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/.fetch.json:
--------------------------------------------------------------------------------
1 | {"source":{"type":"local","path":"C:\\Users\\YM\\.plugman\\cache\\org.apache.cordova.device\\0.2.10\\package"}}
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 |
21 |
22 | # Contributing to Apache Cordova
23 |
24 | Anyone can contribute to Cordova. And we need your contributions.
25 |
26 | There are multiple ways to contribute: report bugs, improve the docs, and
27 | contribute code.
28 |
29 | For instructions on this, start with the
30 | [contribution overview](http://cordova.apache.org/#contribute).
31 |
32 | The details are explained there, but the important items are:
33 | - Sign and submit an Apache ICLA (Contributor License Agreement).
34 | - Have a Jira issue open that corresponds to your contribution.
35 | - Run the tests so your patch doesn't break existing functionality.
36 |
37 | We look forward to your contributions!
38 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/NOTICE:
--------------------------------------------------------------------------------
1 | Apache Cordova
2 | Copyright 2012 The Apache Software Foundation
3 |
4 | This product includes software developed at
5 | The Apache Software Foundation (http://www.apache.org/).
6 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/README.md:
--------------------------------------------------------------------------------
1 |
19 |
20 | # org.apache.cordova.device
21 |
22 | Plugin documentation: [doc/index.md](doc/index.md)
23 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/RELEASENOTES.md:
--------------------------------------------------------------------------------
1 |
21 | # Release Notes
22 |
23 | ### 0.2.1 (Sept 5, 2013)
24 | * removed extraneous print statement
25 | * [CB-4432] copyright notice change
26 |
27 | ### 0.2.3 (Sept 25, 2013)
28 | * CB-4889 bumping&resetting version
29 | * [windows8] commandProxy has moved
30 | * [BlackBerry10] removed uneeded permission tags in plugin.xml
31 | * CB-4889 renaming org.apache.cordova.core.device to org.apache.cordova.device
32 | * Rename CHANGELOG.md -> RELEASENOTES.md
33 | * updated to use commandProxy for ffos
34 | * add firefoxos support
35 | * [CB-4752] Incremented plugin version on dev branch.
36 |
37 | ### 0.2.4 (Oct 28, 2013)
38 | * CB-5128: added repo + issue tag in plugin.xml for device plugin
39 | * CB-5085 device.cordova returning wrong value
40 | * [CB-4915] Incremented plugin version on dev branch.
41 |
42 | ### 0.2.5 (Dec 4, 2013)
43 | * CB-5316 Spell Cordova as a brand unless it's a command or script
44 | * [ubuntu] use cordova/exec/proxy
45 | * add ubuntu platform
46 | * Modify Device.platform logic to use amazon-fireos as the platform for Amazon Devices
47 | * 1. Added amazon-fireos platform. 2. Change to use cordova-amazon-fireos as the platform if user agent contains 'cordova-amazon-fireos'
48 |
49 | ### 0.2.6 (Jan 02, 2014)
50 | * CB-5658 Add doc/index.md for Device plugin
51 | * CB-5504 Moving Telephony Logic out of Device
52 |
53 | ### 0.2.7 (Jan 07, 2014)
54 | * CB-5737 Fix exception on close caused by left over telephony code from CB-5504
55 |
56 | ### 0.2.8 (Feb 05, 2014)
57 | * Tizen support added
58 |
59 | ### 0.2.9 (Apr 17, 2014)
60 | * CB-5105: [Android, windows8, WP, BlackBerry10] Removed dead code for device.version
61 | * CB-6422: [windows8] use cordova/exec/proxy
62 | * CB-6460: Update license headers
63 | * Add NOTICE file
64 |
65 | ### 0.2.10 (Jun 05, 2014)
66 | * CB-6127 Spanish and French Translations added. Github close #12
67 | * Changing 1.5 to 2.0
68 | * added firefoxos version - conversion
69 | * added firefoxos version
70 | * CB-6800 Add license
71 | * CB-6491 add CONTRIBUTING.md
72 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/doc/de/index.md:
--------------------------------------------------------------------------------
1 |
19 |
20 | # org.apache.cordova.device
21 |
22 | Dieses Plugin definiert eine globale `device` -Objekt, das des Geräts Hard- und Software beschreibt. Das Objekt im globalen Gültigkeitsbereich ist es zwar nicht verfügbar bis nach dem `deviceready` Ereignis.
23 |
24 | document.addEventListener("deviceready", onDeviceReady, false);
25 | function onDeviceReady() {
26 | console.log(device.cordova);
27 | }
28 |
29 |
30 | ## Installation
31 |
32 | cordova plugin add org.apache.cordova.device
33 |
34 |
35 | ## Eigenschaften
36 |
37 | * device.cordova
38 | * device.model
39 | * device.name
40 | * device.platform
41 | * device.uuid
42 | * device.version
43 |
44 | ## device.cordova
45 |
46 | Rufen Sie die Version von Cordova, die auf dem Gerät ausgeführt.
47 |
48 | ### Unterstützte Plattformen
49 |
50 | * Amazon Fire OS
51 | * Android
52 | * BlackBerry 10
53 | * Firefox OS
54 | * iOS
55 | * Tizen
56 | * Windows Phone 7 und 8
57 | * Windows 8
58 |
59 | ## device.model
60 |
61 | Die `device.model` gibt den Namen der Modell- oder des Geräts zurück. Der Wert wird vom Gerätehersteller festgelegt und kann zwischen den Versionen des gleichen Produkts unterschiedlich sein.
62 |
63 | ### Unterstützte Plattformen
64 |
65 | * Android
66 | * BlackBerry 10
67 | * iOS
68 | * Tizen
69 | * Windows Phone 7 und 8
70 | * Windows 8
71 |
72 | ### Kleines Beispiel
73 |
74 | / / Android: Nexus One gibt "Passion" (Nexus One Codename) / / Motorola Droid returns "Wühlmäuse" / / BlackBerry: Torch 9800 gibt "9800" / / iOS: für das iPad Mini gibt iPad2, 5; iPhone 5 ist iPhone 5,1. Finden Sie unter http://theiphonewiki.com/wiki/index.php?title=Models / / Var-Modell = device.model;
75 |
76 |
77 | ### Android Macken
78 |
79 | * Ruft den [Produktname][1] anstelle des [Modellnamens][2], das ist oft der Codename für die Produktion. Beispielsweise das Nexus One gibt `Passion` , und Motorola Droid gibt`voles`.
80 |
81 | [1]: http://developer.android.com/reference/android/os/Build.html#PRODUCT
82 | [2]: http://developer.android.com/reference/android/os/Build.html#MODEL
83 |
84 | ### Tizen Macken
85 |
86 | * Gibt z. B. das Gerätemodell von dem Kreditor zugeordnet,`TIZEN`
87 |
88 | ### Windows Phone 7 und 8 Macken
89 |
90 | * Gibt das vom Hersteller angegebenen Gerätemodell zurück. Beispielsweise gibt der Samsung-Fokus`SGH-i917`.
91 |
92 | ## device.name
93 |
94 | **Warnung**: `device.name` ist ab Version 2.3.0 veraltet. Verwendung `device.model` statt.
95 |
96 | ## device.platform
97 |
98 | Name des Betriebssystems des Geräts zu erhalten.
99 |
100 | var string = device.platform;
101 |
102 |
103 | ### Unterstützte Plattformen
104 |
105 | * Android
106 | * BlackBerry 10
107 | * Firefox OS
108 | * iOS
109 | * Tizen
110 | * Windows Phone 7 und 8
111 | * Windows 8
112 |
113 | ### Kleines Beispiel
114 |
115 | // Depending on the device, a few examples are:
116 | // - "Android"
117 | // - "BlackBerry 10"
118 | // - "iOS"
119 | // - "WinCE"
120 | // - "Tizen"
121 | var devicePlatform = device.platform;
122 |
123 |
124 | ### Windows Phone 7 Macken
125 |
126 | Windows Phone 7 Geräte melden die Plattform als`WinCE`.
127 |
128 | ### Windows Phone 8 Macken
129 |
130 | Windows Phone 8 Geräte melden die Plattform als`Win32NT`.
131 |
132 | ## device.uuid
133 |
134 | Des Geräts Universally Unique Identifier ([UUID][3] zu erhalten).
135 |
136 | [3]: http://en.wikipedia.org/wiki/Universally_Unique_Identifier
137 |
138 | var string = device.uuid;
139 |
140 |
141 | ### Beschreibung
142 |
143 | Die Details wie eine UUID generiert wird werden vom Gerätehersteller und beziehen sich auf die Plattform oder das Modell des Geräts.
144 |
145 | ### Unterstützte Plattformen
146 |
147 | * Android
148 | * BlackBerry 10
149 | * iOS
150 | * Tizen
151 | * Windows Phone 7 und 8
152 | * Windows 8
153 |
154 | ### Kleines Beispiel
155 |
156 | / / Android: wird eine zufällige 64-Bit-Ganzzahl (als Zeichenfolge, wieder!) / / die ganze Zahl wird beim ersten Start des Geräts erzeugt / / / / BlackBerry: gibt die PIN-Nummer des Gerätes / / Dies ist eine neunstellige eindeutige Ganzzahl (als String, obwohl!) / / / / iPhone: (paraphrasiert aus der Dokumentation zur UIDevice-Klasse) / / liefert eine Reihe von Hash-Werte, die aus mehreren Hardware erstellt identifiziert.
157 | / / Es ist gewährleistet, dass für jedes Gerät eindeutig sein und kann nicht gebunden werden / / an den Benutzer weitergeleitet.
158 | / / Windows Phone 7: gibt einen Hash des Gerät + aktueller Benutzer, / / wenn der Benutzer nicht definiert ist, eine Guid generiert und wird weiter bestehen, bis die app deinstalliert wird / / Tizen: gibt das Gerät IMEI (International Mobile Equipment Identity oder IMEI ist eine Zahl / / einzigartig für jedes GSM- und UMTS-Handy.
159 | var deviceID = device.uuid;
160 |
161 |
162 | ### iOS Quirk
163 |
164 | Die `uuid` auf iOS ist nicht eindeutig auf ein Gerät, aber für jede Anwendung, für jede Installation variiert. Es ändert sich, wenn Sie löschen und neu die app installieren, und möglicherweise auch beim iOS zu aktualisieren, oder auch ein Upgrade möglich die app pro Version (scheinbaren in iOS 5.1). Die `uuid` ist kein zuverlässiger Wert.
165 |
166 | ### Windows Phone 7 und 8 Macken
167 |
168 | Die `uuid` für Windows Phone 7 die Berechtigung erfordert `ID_CAP_IDENTITY_DEVICE` . Microsoft wird diese Eigenschaft wahrscheinlich bald abzuschaffen. Wenn die Funktion nicht verfügbar ist, generiert die Anwendung eine persistente Guid, die für die Dauer der Installation der Anwendung auf dem Gerät verwaltet wird.
169 |
170 | ## device.version
171 |
172 | Version des Betriebssystems zu erhalten.
173 |
174 | var string = device.version;
175 |
176 |
177 | ### Unterstützte Plattformen
178 |
179 | * Android 2.1 +
180 | * BlackBerry 10
181 | * iOS
182 | * Tizen
183 | * Windows Phone 7 und 8
184 | * Windows 8
185 |
186 | ### Kleines Beispiel
187 |
188 | / / Android: Froyo OS würde "2.2" zurück / / Eclair OS zurückkehren würde, "2.1", "2.0.1" oder "2.0" / / Version kann auch zurückgeben update Level "2.1-update1" / / / / BlackBerry: Torch 9800 mit OS 6.0 würde zurückgeben "6.0.0.600" / / / / iPhone: iOS 3.2 gibt "3.2" / / / / Windows Phone 7: liefert aktuelle OS-Versionsnummer, ex. on Mango returns 7.10.7720
189 | // Tizen: returns "TIZEN_20120425_2"
190 | var deviceVersion = device.version;
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/doc/index.md:
--------------------------------------------------------------------------------
1 |
19 |
20 | # org.apache.cordova.device
21 |
22 | This plugin defines a global `device` object, which describes the device's hardware and software.
23 | Although the object is in the global scope, it is not available until after the `deviceready` event.
24 |
25 | document.addEventListener("deviceready", onDeviceReady, false);
26 | function onDeviceReady() {
27 | console.log(device.cordova);
28 | }
29 |
30 | ## Installation
31 |
32 | cordova plugin add org.apache.cordova.device
33 |
34 | ## Properties
35 |
36 | - device.cordova
37 | - device.model
38 | - device.name
39 | - device.platform
40 | - device.uuid
41 | - device.version
42 |
43 | ## device.cordova
44 |
45 | Get the version of Cordova running on the device.
46 |
47 | ### Supported Platforms
48 |
49 | - Amazon Fire OS
50 | - Android
51 | - BlackBerry 10
52 | - Firefox OS
53 | - iOS
54 | - Tizen
55 | - Windows Phone 7 and 8
56 | - Windows 8
57 |
58 | ## device.model
59 |
60 | The `device.model` returns the name of the device's model or
61 | product. The value is set by the device manufacturer and may be
62 | different across versions of the same product.
63 |
64 | ### Supported Platforms
65 |
66 | - Android
67 | - BlackBerry 10
68 | - iOS
69 | - Tizen
70 | - Windows Phone 7 and 8
71 | - Windows 8
72 |
73 | ### Quick Example
74 |
75 | // Android: Nexus One returns "Passion" (Nexus One code name)
76 | // Motorola Droid returns "voles"
77 | // BlackBerry: Torch 9800 returns "9800"
78 | // iOS: for the iPad Mini, returns iPad2,5; iPhone 5 is iPhone 5,1. See http://theiphonewiki.com/wiki/index.php?title=Models
79 | //
80 | var model = device.model;
81 |
82 | ### Android Quirks
83 |
84 | - Gets the [product name](http://developer.android.com/reference/android/os/Build.html#PRODUCT) instead of the [model name](http://developer.android.com/reference/android/os/Build.html#MODEL), which is often the production code name. For example, the Nexus One returns `Passion`, and Motorola Droid returns `voles`.
85 |
86 | ### Tizen Quirks
87 |
88 | - Returns the device model assigned by the vendor, for example, `TIZEN`
89 |
90 | ### Windows Phone 7 and 8 Quirks
91 |
92 | - Returns the device model specified by the manufacturer. For example, the Samsung Focus returns `SGH-i917`.
93 |
94 | ## device.name
95 |
96 | __WARNING__: `device.name` is deprecated as of version 2.3.0. Use `device.model` instead.
97 |
98 | ## device.platform
99 |
100 | Get the device's operating system name.
101 |
102 | var string = device.platform;
103 |
104 | ### Supported Platforms
105 |
106 | - Android
107 | - BlackBerry 10
108 | - Firefox OS
109 | - iOS
110 | - Tizen
111 | - Windows Phone 7 and 8
112 | - Windows 8
113 |
114 | ### Quick Example
115 |
116 | // Depending on the device, a few examples are:
117 | // - "Android"
118 | // - "BlackBerry 10"
119 | // - "iOS"
120 | // - "WinCE"
121 | // - "Tizen"
122 | var devicePlatform = device.platform;
123 |
124 | ### Windows Phone 7 Quirks
125 |
126 | Windows Phone 7 devices report the platform as `WinCE`.
127 |
128 | ### Windows Phone 8 Quirks
129 |
130 | Windows Phone 8 devices report the platform as `Win32NT`.
131 |
132 | ## device.uuid
133 |
134 | Get the device's Universally Unique Identifier ([UUID](http://en.wikipedia.org/wiki/Universally_Unique_Identifier)).
135 |
136 | var string = device.uuid;
137 |
138 | ### Description
139 |
140 | The details of how a UUID is generated are determined by the device manufacturer and are specific to the device's platform or model.
141 |
142 | ### Supported Platforms
143 |
144 | - Android
145 | - BlackBerry 10
146 | - iOS
147 | - Tizen
148 | - Windows Phone 7 and 8
149 | - Windows 8
150 |
151 | ### Quick Example
152 |
153 | // Android: Returns a random 64-bit integer (as a string, again!)
154 | // The integer is generated on the device's first boot
155 | //
156 | // BlackBerry: Returns the PIN number of the device
157 | // This is a nine-digit unique integer (as a string, though!)
158 | //
159 | // iPhone: (Paraphrased from the UIDevice Class documentation)
160 | // Returns a string of hash values created from multiple hardware identifies.
161 | // It is guaranteed to be unique for every device and can't be tied
162 | // to the user account.
163 | // Windows Phone 7 : Returns a hash of device+current user,
164 | // if the user is not defined, a guid is generated and will persist until the app is uninstalled
165 | // Tizen: returns the device IMEI (International Mobile Equipment Identity or IMEI is a number
166 | // unique to every GSM and UMTS mobile phone.
167 | var deviceID = device.uuid;
168 |
169 | ### iOS Quirk
170 |
171 | The `uuid` on iOS is not unique to a device, but varies for each
172 | application, for each installation. It changes if you delete and
173 | re-install the app, and possibly also when you upgrade iOS, or even
174 | upgrade the app per version (apparent in iOS 5.1). The `uuid` is not
175 | a reliable value.
176 |
177 | ### Windows Phone 7 and 8 Quirks
178 |
179 | The `uuid` for Windows Phone 7 requires the permission
180 | `ID_CAP_IDENTITY_DEVICE`. Microsoft will likely deprecate this
181 | property soon. If the capability is not available, the application
182 | generates a persistent guid that is maintained for the duration of the
183 | application's installation on the device.
184 |
185 | ## device.version
186 |
187 | Get the operating system version.
188 |
189 | var string = device.version;
190 |
191 | ### Supported Platforms
192 |
193 | - Android 2.1+
194 | - BlackBerry 10
195 | - iOS
196 | - Tizen
197 | - Windows Phone 7 and 8
198 | - Windows 8
199 |
200 | ### Quick Example
201 |
202 | // Android: Froyo OS would return "2.2"
203 | // Eclair OS would return "2.1", "2.0.1", or "2.0"
204 | // Version can also return update level "2.1-update1"
205 | //
206 | // BlackBerry: Torch 9800 using OS 6.0 would return "6.0.0.600"
207 | //
208 | // iPhone: iOS 3.2 returns "3.2"
209 | //
210 | // Windows Phone 7: returns current OS version number, ex. on Mango returns 7.10.7720
211 | // Tizen: returns "TIZEN_20120425_2"
212 | var deviceVersion = device.version;
213 |
214 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/doc/ja/index.md:
--------------------------------------------------------------------------------
1 |
19 |
20 | # org.apache.cordova.device
21 |
22 | このプラグインをグローバル定義します `device` オブジェクトは、デバイスのハードウェアとソフトウェアについて説明します。 それは後まで利用可能なオブジェクトがグローバル スコープでは、 `deviceready` イベント。
23 |
24 | document.addEventListener("deviceready", onDeviceReady, false);
25 | function onDeviceReady() {
26 | console.log(device.cordova);
27 | }
28 |
29 |
30 | ## インストール
31 |
32 | cordova plugin add org.apache.cordova.device
33 |
34 |
35 | ## プロパティ
36 |
37 | * device.cordova
38 | * device.model
39 | * device.name
40 | * device.platform
41 | * device.uuid
42 | * device.version
43 |
44 | ## device.cordova
45 |
46 | デバイスで実行されているコルドバのバージョンを取得します。
47 |
48 | ### サポートされているプラットフォーム
49 |
50 | * アマゾン火 OS
51 | * アンドロイド
52 | * ブラックベリー 10
53 | * Firefox の OS
54 | * iOS
55 | * Tizen
56 | * Windows Phone 7 と 8
57 | * Windows 8
58 |
59 | ## device.model
60 |
61 | `device.model`、デバイスのモデルまたは製品の名前を返します。値は、デバイスの製造元によって設定され、同じ製品のバージョン間で異なる可能性があります。
62 |
63 | ### サポートされているプラットフォーム
64 |
65 | * アンドロイド
66 | * ブラックベリー 10
67 | * iOS
68 | * Tizen
69 | * Windows Phone 7 と 8
70 | * Windows 8
71 |
72 | ### 簡単な例
73 |
74 | //アンドロイド: ネクサス 1 つは「情熱」(ネクサス 1 つはコード名) を返します//モトローラドロイド「ハタネズミ」を返します。//ブラックベリー: トーチ 9800 を返します「9800」//iOS: iPad のミニ 5; iPad2 を返します。iPhone 5 は iPhone 5, 1 です。 Http://theiphonewiki.com/wiki/index.php?title=Models を参照してください//var モデル = device.model;
75 |
76 |
77 | ### Android の癖
78 |
79 | * 生産コード名は[モデル名][1]の代わりに[製品名][2]を取得します。 たとえば、ネクサス 1 つを返します `Passion` 、Motorola のドロイドを返します`voles`.
80 |
81 | [1]: http://developer.android.com/reference/android/os/Build.html#MODEL
82 | [2]: http://developer.android.com/reference/android/os/Build.html#PRODUCT
83 |
84 | ### Tizen の癖
85 |
86 | * たとえば、ベンダーによって割り当てられているデバイスのモデルを返します`TIZEN`
87 |
88 | ### Windows Phone 7 と 8 癖
89 |
90 | * 製造元によって指定されたデバイスのモデルを返します。たとえば、三星フォーカスを返します`SGH-i917`.
91 |
92 | ## device.name
93 |
94 | **警告**: `device.name` バージョン 2.3.0 は推奨されません。使用 `device.model` 代わりに。
95 |
96 | ## device.platform
97 |
98 | デバイスのオペレーティング システム名を取得します。
99 |
100 | var string = device.platform;
101 |
102 |
103 | ### サポートされているプラットフォーム
104 |
105 | * アンドロイド
106 | * ブラックベリー 10
107 | * Firefox の OS
108 | * iOS
109 | * Tizen
110 | * Windows Phone 7 と 8
111 | * Windows 8
112 |
113 | ### 簡単な例
114 |
115 | // Depending on the device, a few examples are:
116 | // - "Android"
117 | // - "BlackBerry 10"
118 | // - "iOS"
119 | // - "WinCE"
120 | // - "Tizen"
121 | var devicePlatform = device.platform;
122 |
123 |
124 | ### Windows Phone 7 の癖
125 |
126 | Windows Phone 7 デバイスとプラットフォームを報告します。`WinCE`.
127 |
128 | ### Windows Phone 8 癖
129 |
130 | Windows Phone 8 デバイスとプラットフォームを報告します。`Win32NT`.
131 |
132 | ## device.uuid
133 |
134 | デバイスのユニバーサル ・ ユニーク識別子 ([UUID][3]を取得します。).
135 |
136 | [3]: http://en.wikipedia.org/wiki/Universally_Unique_Identifier
137 |
138 | var string = device.uuid;
139 |
140 |
141 | ### 説明
142 |
143 | UUID を生成する方法の詳細は、デバイスの製造元によって決定され、デバイスのプラットフォームやモデルに固有です。
144 |
145 | ### サポートされているプラットフォーム
146 |
147 | * アンドロイド
148 | * ブラックベリー 10
149 | * iOS
150 | * Tizen
151 | * Windows Phone 7 と 8
152 | * Windows 8
153 |
154 | ### 簡単な例
155 |
156 | //アンドロイド: ランダムな 64 ビットの整数 (を文字列として返します、再び !)/デバイスの最初の起動時に生成される整数/////ブラックベリー: デバイスのピン番号を返します//これは 9 桁の一意な整数 (を文字列としても !)////iPhone: (UIDevice クラスのドキュメントから言い換え)//識別複数のハードウェアから作成されたハッシュ値の文字列を返します。。
157 | //それはすべてのデバイスに対して一意であることが保証され、接続することはできません//ユーザー アカウント。
158 | //Windows Phone 7: デバイス + 現在のユーザーのハッシュを返します//ユーザーが定義されていない場合 guid が生成され、アプリがアンインストールされるまで保持されます//Tizen: デバイスの IMEI を返します (国際モバイル機器アイデンティティまたは IMEI は番号です//すべての GSM および UMTS の携帯電話に固有です。
159 | var deviceID = device.uuid;
160 |
161 |
162 | ### iOS の気まぐれ
163 |
164 | `uuid`IOS で、デバイスに固有はありませんインストールごと、アプリケーションごとに異なります。 削除、アプリを再インストールした場合に変更と多分またときアップグレード iOS の, またはもアップグレードするアプリ (iOS の 5.1 で明らかに) バージョンごと。 `uuid`は信頼性の高い値ではありません。
165 |
166 | ### Windows Phone 7 と 8 癖
167 |
168 | `uuid`のために Windows Phone 7 には、権限が必要です `ID_CAP_IDENTITY_DEVICE` 。 Microsoft はすぐにこのプロパティを廃止して可能性があります。 機能が利用できない場合、アプリケーションはデバイスへのアプリケーションのインストールの持続期間のために保持されている永続的な guid を生成します。
169 |
170 | ## device.version
171 |
172 | オペレーティング システムのバージョンを取得します。
173 |
174 | var string = device.version;
175 |
176 |
177 | ### サポートされているプラットフォーム
178 |
179 | * アンドロイド 2.1 +
180 | * ブラックベリー 10
181 | * iOS
182 | * Tizen
183 | * Windows Phone 7 と 8
184 | * Windows 8
185 |
186 | ### 簡単な例
187 |
188 | //アンドロイド: フローズン ヨーグルト OS は「2.2」を返します/エクレア OS は「2.1」、「2.0.1」、または「2.0」を返します//バージョンも返すことができます/レベル"2.1 update1"を更新////ブラックベリー: トーチ 9800 OS 6.0 を使用しては「6.0.0.600」を返します////iPhone: iOS 3.2 返します「3.2」////Windows Phone 7: ex 現在の OS のバージョン番号を返します。 on Mango returns 7.10.7720
189 | // Tizen: returns "TIZEN_20120425_2"
190 | var deviceVersion = device.version;
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/doc/ko/index.md:
--------------------------------------------------------------------------------
1 |
19 |
20 | # org.apache.cordova.device
21 |
22 | 이 플러그인 정의 전역 `device` 개체, 디바이스의 하드웨어 및 소프트웨어에 설명 합니다. 개체는 전역 범위에서 비록 그것은 후까지 사용할 수 있는 `deviceready` 이벤트.
23 |
24 | document.addEventListener("deviceready", onDeviceReady, false);
25 | function onDeviceReady() {
26 | console.log(device.cordova);
27 | }
28 |
29 |
30 | ## 설치
31 |
32 | cordova plugin add org.apache.cordova.device
33 |
34 |
35 | ## 속성
36 |
37 | * device.cordova
38 | * device.model
39 | * device.name
40 | * device.platform
41 | * device.uuid
42 | * device.version
43 |
44 | ## device.cordova
45 |
46 | 코르도바는 장치에서 실행 중인 버전을 얻을.
47 |
48 | ### 지원 되는 플랫폼
49 |
50 | * 아마존 화재 운영 체제
51 | * 안 드 로이드
52 | * 블랙베리 10
53 | * Firefox 운영 체제
54 | * iOS
55 | * Tizen
56 | * Windows Phone 7과 8
57 | * 윈도우 8
58 |
59 | ## device.model
60 |
61 | `device.model`소자의 모델 또는 제품의 이름을 반환 합니다. 값 장치 제조업체에서 설정 되 고 동일 제품의 버전 간에 다를 수 있습니다.
62 |
63 | ### 지원 되는 플랫폼
64 |
65 | * 안 드 로이드
66 | * 블랙베리 10
67 | * iOS
68 | * Tizen
69 | * Windows Phone 7과 8
70 | * 윈도우 8
71 |
72 | ### 빠른 예제
73 |
74 | / / 안 드 로이드: 넥서스 하나는 "열정" (넥서스 하나의 코드 이름)를 반환 합니다 / 모토로라 Droid 반환 "밭" / / / 블랙베리: 토치 9800 반환 "9800" / / iOS: iPad 미니, 반환 iPad2, 5; 아이폰 5 아이폰 5, 1 이다입니다. Http://theiphonewiki.com/wiki/index.php?title=Models 참조 / / var 모델 = device.model;
75 |
76 |
77 | ### 안 드 로이드 단점
78 |
79 | * 어떤은 종종 프로덕션 코드 이름 대신 [제품 모델 이름][1], [제품 이름][2] 을 가져옵니다. 예를 들어 넥서스 하나 반환 합니다 `Passion` , 모토로라 Droid를 반환 합니다`voles`.
80 |
81 | [1]: http://developer.android.com/reference/android/os/Build.html#MODEL
82 | [2]: http://developer.android.com/reference/android/os/Build.html#PRODUCT
83 |
84 | ### Tizen 특수
85 |
86 | * 예를 들어, 공급 업체에 의해 할당 된 디바이스 모델을 반환 합니다.`TIZEN`
87 |
88 | ### Windows Phone 7, 8 특수
89 |
90 | * 제조업체에서 지정 하는 장치 모델을 반환 합니다. 예를 들어 삼성 포커스를 반환 합니다.`SGH-i917`.
91 |
92 | ## device.name
93 |
94 | **경고**: `device.name` 버전 2.3.0는 사용 되지 않습니다. 사용 `device.model` 대신.
95 |
96 | ## device.platform
97 |
98 | 장치의 운영 체제 이름을 얻을.
99 |
100 | var string = device.platform;
101 |
102 |
103 | ### 지원 되는 플랫폼
104 |
105 | * 안 드 로이드
106 | * 블랙베리 10
107 | * Firefox 운영 체제
108 | * iOS
109 | * Tizen
110 | * Windows Phone 7과 8
111 | * 윈도우 8
112 |
113 | ### 빠른 예제
114 |
115 | // Depending on the device, a few examples are:
116 | // - "Android"
117 | // - "BlackBerry 10"
118 | // - "iOS"
119 | // - "WinCE"
120 | // - "Tizen"
121 | var devicePlatform = device.platform;
122 |
123 |
124 | ### Windows Phone 7 단점
125 |
126 | Windows Phone 7 장치 보고 플랫폼으로`WinCE`.
127 |
128 | ### Windows Phone 8 단점
129 |
130 | Windows Phone 8 장치 보고 플랫폼으로`Win32NT`.
131 |
132 | ## device.uuid
133 |
134 | 소자의 보편적으로 고유 식별자 ([UUID][3] 를 얻을합니다).
135 |
136 | [3]: http://en.wikipedia.org/wiki/Universally_Unique_Identifier
137 |
138 | var string = device.uuid;
139 |
140 |
141 | ### 설명
142 |
143 | UUID 생성 방법의 자세한 내용은 장치 제조업체에 의해 결정 됩니다 및 소자의 플랫폼 이나 모델.
144 |
145 | ### 지원 되는 플랫폼
146 |
147 | * 안 드 로이드
148 | * 블랙베리 10
149 | * iOS
150 | * Tizen
151 | * Windows Phone 7과 8
152 | * 윈도우 8
153 |
154 | ### 빠른 예제
155 |
156 | / / 안 드 로이드: (문자열로 다시!) 임의의 64 비트 정수를 반환 합니다 / / 정수 장치의 첫 번째 부팅에서 생성 / / / / 블랙베리: 디바이스의 핀 번호를 반환 합니다 / / 이것은 9 자리 고유 정수 (문자열로 비록!) / / / / 아이폰: (UIDevice 클래스 설명서에서 읊 었) / / 문자열 여러 하드웨어에서 생성 하는 해시 값을 식별 하는 반환 합니다.
157 | / 그것은 모든 장치에 대 한 고유 해야 보장 되 고 묶일 수 없습니다 / / / 사용자 계정에.
158 | / / Windows Phone 7: 장치 + 현재 사용자의 해시를 반환 합니다 / / 사용자 정의 되지 않은 경우 guid 생성 되 고 응용 프로그램을 제거할 때까지 유지 됩니다 / / Tizen: 반환 장치 IMEI (국제 모바일 기기 식별 또는 IMEI 숫자입니다 / / 모든 GSM와 UMTS 휴대 전화 고유.
159 | var deviceID = device.uuid;
160 |
161 |
162 | ### iOS 특질
163 |
164 | `uuid`ios 장치에 고유 하지 않습니다 하지만 각 설치에 대 한 응용 프로그램 마다 다릅니다. 삭제 하 고 다시 애플 리 케이 션을 설치 하는 경우 변경 가능 하 게 또한 iOS를 업그레이드 하거나 때 버전 (iOS 5.1에에서 명백한) 당 응용 프로그램 업그레이드도 하 고. `uuid`은 신뢰할 수 있는 값이 아닙니다.
165 |
166 | ### Windows Phone 7, 8 특수
167 |
168 | `uuid`Windows Phone 7 필요 허가 `ID_CAP_IDENTITY_DEVICE` . Microsoft는 곧이 속성을 세웁니다 가능성이 것입니다. 기능을 사용할 수 없는 경우 응용 프로그램 장치에 응용 프로그램의 설치 하는 동안 유지 하는 영구 guid를 생성 합니다.
169 |
170 | ## device.version
171 |
172 | 운영 체제 버전을 얻을.
173 |
174 | var string = device.version;
175 |
176 |
177 | ### 지원 되는 플랫폼
178 |
179 | * 안 드 로이드 2.1 +
180 | * 블랙베리 10
181 | * iOS
182 | * Tizen
183 | * Windows Phone 7과 8
184 | * 윈도우 8
185 |
186 | ### 빠른 예제
187 |
188 | / / 안 드 로이드: Froyo OS "2.2" 반환 / Eclair OS "2.1", "2.0.1", 또는 "2.0" 돌려보낼 것입니다 / / 버전 반환할 수 있습니다 / 업데이트 수준 "2.1 update1" / / / / 블랙베리: 토치 9800 OS 6.0을 사용 하 여 "6.0.0.600"를 반환 / / / / 아이폰: iOS 3.2 반환 "3.2" / / / / Windows Phone 7: 전 현재 운영 체제 버전 번호를 반환 합니다. on Mango returns 7.10.7720
189 | // Tizen: returns "TIZEN_20120425_2"
190 | var deviceVersion = device.version;
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/doc/pl/index.md:
--------------------------------------------------------------------------------
1 |
19 |
20 | # org.apache.cordova.device
21 |
22 | Ten plugin określa globalne `device` obiekt, który opisuje urządzenia sprzętowe i programowe. Mimo, że obiekt jest w globalnym zasięgu, nie jest dostępne dopiero po `deviceready` zdarzenie.
23 |
24 | document.addEventListener("deviceready", onDeviceReady, false);
25 | function onDeviceReady() {
26 | console.log(device.cordova);
27 | }
28 |
29 |
30 | ## Instalacji
31 |
32 | cordova plugin add org.apache.cordova.device
33 |
34 |
35 | ## Właściwości
36 |
37 | * device.cordova
38 | * device.model
39 | * device.name
40 | * device.platform
41 | * device.uuid
42 | * device.version
43 |
44 | ## device.cordova
45 |
46 | Pobierz wersję Cordova działa na urządzeniu.
47 |
48 | ### Obsługiwane platformy
49 |
50 | * Amazon ogień OS
51 | * Android
52 | * Jeżyna 10
53 | * Firefox OS
54 | * iOS
55 | * Tizen
56 | * Windows Phone 7 i 8
57 | * Windows 8
58 |
59 | ## device.model
60 |
61 | `device.model`Zwraca nazwę modelu lub produktu. Wartość jest zestaw przez producenta urządzenia i mogą się różnić między wersjami tego samego produktu.
62 |
63 | ### Obsługiwane platformy
64 |
65 | * Android
66 | * Jeżyna 10
67 | * iOS
68 | * Tizen
69 | * Windows Phone 7 i 8
70 | * Windows 8
71 |
72 | ### Szybki przykład
73 |
74 | / / Android: Nexus One zwraca "Pasja" (nazwa kodowa Nexus One) / / Motorola Droid zwraca "voles" / / BlackBerry: Torch 9800 zwraca "9800" / / iOS: iPad Mini, zwraca iPad2, 5; iPhone 5 jest iPhone 5,1. Zobacz http://theiphonewiki.com/wiki/index.php?title=Models / / modelu var = device.model;
75 |
76 |
77 | ### Android dziwactwa
78 |
79 | * Pobiera [nazwę produktu][1] zamiast [nazwy modelu][2], który często jest nazwą kod produkcji. Na przykład, Nexus One zwraca `Passion` , i zwraca Motorola Droid`voles`.
80 |
81 | [1]: http://developer.android.com/reference/android/os/Build.html#PRODUCT
82 | [2]: http://developer.android.com/reference/android/os/Build.html#MODEL
83 |
84 | ### Osobliwości Tizen
85 |
86 | * Zwraca modelu urządzenia przypisane przez dostawcę, na przykład,`TIZEN`
87 |
88 | ### Windows Phone 7 i 8 dziwactwa
89 |
90 | * Zwraca modelu urządzenia, określonej przez producenta. Na przykład Samsung ostrości zwraca`SGH-i917`.
91 |
92 | ## device.name
93 |
94 | **Ostrzeżenie**: `device.name` jest przestarzała od wersji 2.3.0. Użycie `device.model` zamiast.
95 |
96 | ## device.platform
97 |
98 | Uzyskać nazwę systemu operacyjnego urządzenia.
99 |
100 | var string = device.platform;
101 |
102 |
103 | ### Obsługiwane platformy
104 |
105 | * Android
106 | * Jeżyna 10
107 | * Firefox OS
108 | * iOS
109 | * Tizen
110 | * Windows Phone 7 i 8
111 | * Windows 8
112 |
113 | ### Szybki przykład
114 |
115 | // Depending on the device, a few examples are:
116 | // - "Android"
117 | // - "BlackBerry 10"
118 | // - "iOS"
119 | // - "WinCE"
120 | // - "Tizen"
121 | var devicePlatform = device.platform;
122 |
123 |
124 | ### Windows Phone 7 dziwactwa
125 |
126 | Urządzenia Windows Phone 7 raport platformy jako`WinCE`.
127 |
128 | ### Windows Phone 8 dziwactwa
129 |
130 | Urządzenia Windows Phone 8 raport platformy jako`Win32NT`.
131 |
132 | ## device.uuid
133 |
134 | Się urządzenia uniwersalnie unikatowy identyfikator ([UUID][3]).
135 |
136 | [3]: http://en.wikipedia.org/wiki/Universally_Unique_Identifier
137 |
138 | var string = device.uuid;
139 |
140 |
141 | ### Opis
142 |
143 | Szczegóły jak UUID jest generowane są określane przez producenta urządzenia i są specyficzne dla platformy lub modelu urządzenia.
144 |
145 | ### Obsługiwane platformy
146 |
147 | * Android
148 | * Jeżyna 10
149 | * iOS
150 | * Tizen
151 | * Windows Phone 7 i 8
152 | * Windows 8
153 |
154 | ### Szybki przykład
155 |
156 | / / Android: zwraca losowe 64-bitowa liczba całkowita (jako ciąg, znowu!) / / liczba całkowita jest generowany na pierwszego uruchomienia urządzenia / / / / BlackBerry: zwraca numer PIN urządzenia / / to jest unikatową liczbą całkowitą dziewięciu cyfr (jako ciąg, choć!) / / / / iPhone: (zacytowana w dokumentacji klasy UIDevice) / / zwraca ciąg wartości mieszania utworzone z wielu sprzętu identyfikuje.
157 | Zapewniona jest unikatowy dla każdego urządzenia i nie może być związane z / do konta użytkownika.
158 | / / Windows Phone 7: zwraca wartość mieszania urządzenia + bieżący użytkownik, / / jeśli nie zdefiniowane przez użytkownika, identyfikator guid jest generowany i będzie trwać do czasu odinstalowania aplikacji / / Tizen: zwraca urządzenia IMEI (International Mobile Equipment Identity lub IMEI jest liczbą / / unikatowe dla każdego telefonu komórkowego GSM i UMTS.
159 | var deviceID = device.uuid;
160 |
161 |
162 | ### iOS dziwactwo
163 |
164 | `uuid`Na iOS nie jest przypisany do urządzenia, ale różni się dla każdej aplikacji, dla każdej instalacji. Zmienia się jeśli możesz usunąć i ponownie zainstalować aplikację, a ewentualnie także po aktualizacji iOS czy nawet uaktualnienia aplikacji dla wersji (widoczny w iOS 5.1). `uuid`Jest nie wiarygodne wartości.
165 |
166 | ### Windows Phone 7 i 8 dziwactwa
167 |
168 | `uuid`Dla Windows Phone 7 wymaga zgody `ID_CAP_IDENTITY_DEVICE` . Microsoft będzie prawdopodobnie potępiać ten wkrótce. Jeśli funkcja nie jest dostępna, aplikacja generuje trwałe identyfikator guid, który jest utrzymywany przez czas trwania instalacji aplikacji na urządzeniu.
169 |
170 | ## device.version
171 |
172 | Pobierz wersję systemu operacyjnego.
173 |
174 | var string = device.version;
175 |
176 |
177 | ### Obsługiwane platformy
178 |
179 | * Android 2.1 +
180 | * Jeżyna 10
181 | * iOS
182 | * Tizen
183 | * Windows Phone 7 i 8
184 | * Windows 8
185 |
186 | ### Szybki przykład
187 |
188 | / / Android: Froyo OS zwróci "2.2" / / Eclair OS zwróci "2.1", "2.0.1" lub "2.0" / / wersji mogą również zwracać zaktualizować poziom "2.1-update1" / / / / BlackBerry: 9800 Torch za pomocą OS 6.0 zwróci "6.0.0.600" / / / / iPhone: iOS 3.2 zwraca "3.2" / / / / Windows Phone 7: Zwraca bieżący numer wersji systemu operacyjnego, ex. on Mango returns 7.10.7720
189 | // Tizen: returns "TIZEN_20120425_2"
190 | var deviceVersion = device.version;
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/doc/zh/index.md:
--------------------------------------------------------------------------------
1 |
19 |
20 | # org.apache.cordova.device
21 |
22 | 這個外掛程式定義全球 `device` 物件,描述該設備的硬體和軟體。 雖然物件是在全球範圍內,但不是可用,直到後 `deviceready` 事件。
23 |
24 | document.addEventListener("deviceready", onDeviceReady, false);
25 | function onDeviceReady() {
26 | console.log(device.cordova);
27 | }
28 |
29 |
30 | ## 安裝
31 |
32 | cordova plugin add org.apache.cordova.device
33 |
34 |
35 | ## 屬性
36 |
37 | * device.cordova
38 | * device.model
39 | * device.name
40 | * device.platform
41 | * device.uuid
42 | * device.version
43 |
44 | ## device.cordova
45 |
46 | 獲取科爾多瓦在設備上運行的版本。
47 |
48 | ### 支援的平臺
49 |
50 | * 亞馬遜火 OS
51 | * Android 系統
52 | * 黑莓 10
53 | * 火狐瀏覽器作業系統
54 | * iOS
55 | * Tizen
56 | * Windows Phone 7 和 8
57 | * Windows 8
58 |
59 | ## device.model
60 |
61 | `device.model`返回設備的模型或產品的名稱。值由設備製造商設置和同一產品的不同版本可能不同。
62 |
63 | ### 支援的平臺
64 |
65 | * Android 系統
66 | * 黑莓 10
67 | * iOS
68 | * Tizen
69 | * Windows Phone 7 和 8
70 | * Windows 8
71 |
72 | ### 快速的示例
73 |
74 | / / Android: Nexus 返回"激情"(Nexus One 代碼名稱) / / 摩托羅拉 Droid 返回"田鼠"/ / 黑莓手機: 火炬 9800 返回"9800"/ / iOS: 迷你 ipad,返回與 iPad2,5 ;iPhone 5 是 iPhone 5,1。 請參閱 HTTP://theiphonewiki.com/wiki/index.php?title=Models / / var 模型 = device.model ;
75 |
76 |
77 | ### Android 的怪癖
78 |
79 | * 獲取[產品名稱][1]而不是[產品型號名稱][2],這往往是生產代碼名稱。 例如,Nexus One 返回 `Passion` ,和摩托羅拉 Droid 返回`voles`.
80 |
81 | [1]: http://developer.android.com/reference/android/os/Build.html#PRODUCT
82 | [2]: http://developer.android.com/reference/android/os/Build.html#MODEL
83 |
84 | ### Tizen 怪癖
85 |
86 | * 例如,返回與供應商指派的設備模型`TIZEN`
87 |
88 | ### Windows Phone 7 和 8 怪癖
89 |
90 | * 返回由製造商指定的設備模型。例如,三星焦點返回`SGH-i917`.
91 |
92 | ## device.name
93 |
94 | **警告**: `device.name` 從版 2.3.0 已被否決。使用 `device.model` 相反。
95 |
96 | ## device.platform
97 |
98 | 獲取該設備的作業系統名稱。
99 |
100 | var string = device.platform;
101 |
102 |
103 | ### 支援的平臺
104 |
105 | * Android 系統
106 | * 黑莓 10
107 | * 火狐瀏覽器作業系統
108 | * iOS
109 | * Tizen
110 | * Windows Phone 7 和 8
111 | * Windows 8
112 |
113 | ### 快速的示例
114 |
115 | // Depending on the device, a few examples are:
116 | // - "Android"
117 | // - "BlackBerry 10"
118 | // - "iOS"
119 | // - "WinCE"
120 | // - "Tizen"
121 | var devicePlatform = device.platform;
122 |
123 |
124 | ### Windows Phone 7 的怪癖
125 |
126 | Windows Phone 7 設備報告作為平臺`WinCE`.
127 |
128 | ### Windows Phone 8 怪癖
129 |
130 | Windows Phone 8 設備報告作為平臺`Win32NT`.
131 |
132 | ## device.uuid
133 |
134 | 獲取設備的通用唯一識別碼 ([UUID][3]).
135 |
136 | [3]: http://en.wikipedia.org/wiki/Universally_Unique_Identifier
137 |
138 | var string = device.uuid;
139 |
140 |
141 | ### 說明
142 |
143 | UUID 如何生成的詳細資訊由設備製造商和特定于設備的平臺或模型。
144 |
145 | ### 支援的平臺
146 |
147 | * Android 系統
148 | * 黑莓 10
149 | * iOS
150 | * Tizen
151 | * Windows Phone 7 和 8
152 | * Windows 8
153 |
154 | ### 快速的示例
155 |
156 | / / Android: 一個隨機的 64 位整數 (作為字串返回,再次!) / / 上設備的第一次啟動生成的整數 / / / / 黑莓手機: 返回設備的 PIN 號碼 / / 這是九個數字的唯一整數 (作為字串,雖然!) / / / / iPhone: (從 UIDevice 類文檔解釋) / / 返回一個字串的雜湊值創建的多個硬體標識。
157 | / / 它保證是唯一的每個設備並不能綁 / / 到使用者帳戶。
158 | / / Windows Phone 7: 返回的雜湊代碼的設備 + 當前使用者,/ / 如果未定義使用者,則一個 guid 生成的並且將會保留直到卸載該應用程式 / / Tizen: 返回設備 IMEI (國際行動裝置身份或 IMEI 是一個數位 / / 獨有的每一個 UMTS 和 GSM 行動電話。
159 | var deviceID = device.uuid;
160 |
161 |
162 | ### iOS 怪癖
163 |
164 | `uuid`在 iOS 上不是獨有的一種設備,但對於每個應用程式,為每個安裝各不相同。 如果您刪除並重新安裝應用程式,它會更改和可能還當你升級 iOS,或甚至升級每個版本 (明顯在 iOS 5.1 中) 的應用程式。 `uuid`不是一個可靠的值。
165 |
166 | ### Windows Phone 7 和 8 怪癖
167 |
168 | `uuid`為 Windows Phone 7 需要許可權 `ID_CAP_IDENTITY_DEVICE` 。 Microsoft 可能會很快就棄用此屬性。 如果能力不是可用的應用程式將生成一個持久性的 guid 並保持應用程式的安裝在設備上的持續時間。
169 |
170 | ## device.version
171 |
172 | 獲取作業系統版本。
173 |
174 | var string = device.version;
175 |
176 |
177 | ### 支援的平臺
178 |
179 | * Android 2.1 +
180 | * 黑莓 10
181 | * iOS
182 | * Tizen
183 | * Windows Phone 7 和 8
184 | * Windows 8
185 |
186 | ### 快速的示例
187 |
188 | / / Android: Froyo OS 將返回"2.2"/ / Eclair OS 將返回"2.1"、"2.0.1"2.0"/ / 版本,也可以返回更新級別"2.1 update1"/ / / / 黑莓手機: 火炬 9800 使用 OS 6.0 將返回"6.0.0.600"/ / / / iPhone: iOS 3.2 返回"3.2"/ / / / Windows Phone 7: 返回當前 OS 版本數,。 on Mango returns 7.10.7720
189 | // Tizen: returns "TIZEN_20120425_2"
190 | var deviceVersion = device.version;
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.10",
3 | "name": "org.apache.cordova.device",
4 | "cordova_name": "Device",
5 | "description": "Cordova Device Plugin",
6 | "license": "Apache 2.0",
7 | "repo": "https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git",
8 | "issue": "https://issues.apache.org/jira/browse/CB/component/12320648",
9 | "keywords": [
10 | "cordova",
11 | "device"
12 | ],
13 | "platforms": [
14 | "firefoxos",
15 | "tizen",
16 | "android",
17 | "amazon-fireos",
18 | "ubuntu",
19 | "ios",
20 | "blackberry10",
21 | "wp7",
22 | "wp8",
23 | "windows8"
24 | ],
25 | "engines": [],
26 | "englishdoc": "\n\n# org.apache.cordova.device\n\nThis plugin defines a global `device` object, which describes the device's hardware and software.\nAlthough the object is in the global scope, it is not available until after the `deviceready` event.\n\n document.addEventListener(\"deviceready\", onDeviceReady, false);\n function onDeviceReady() {\n console.log(device.cordova);\n }\n\n## Installation\n\n cordova plugin add org.apache.cordova.device\n\n## Properties\n\n- device.cordova\n- device.model\n- device.name\n- device.platform\n- device.uuid\n- device.version\n\n## device.cordova\n\nGet the version of Cordova running on the device.\n\n### Supported Platforms\n\n- Amazon Fire OS\n- Android\n- BlackBerry 10\n- Firefox OS\n- iOS\n- Tizen\n- Windows Phone 7 and 8\n- Windows 8\n\n## device.model\n\nThe `device.model` returns the name of the device's model or\nproduct. The value is set by the device manufacturer and may be\ndifferent across versions of the same product.\n\n### Supported Platforms\n\n- Android\n- BlackBerry 10\n- iOS\n- Tizen\n- Windows Phone 7 and 8\n- Windows 8\n\n### Quick Example\n\n // Android: Nexus One returns \"Passion\" (Nexus One code name)\n // Motorola Droid returns \"voles\"\n // BlackBerry: Torch 9800 returns \"9800\"\n // iOS: for the iPad Mini, returns iPad2,5; iPhone 5 is iPhone 5,1. See http://theiphonewiki.com/wiki/index.php?title=Models\n //\n var model = device.model;\n\n### Android Quirks\n\n- Gets the [product name](http://developer.android.com/reference/android/os/Build.html#PRODUCT) instead of the [model name](http://developer.android.com/reference/android/os/Build.html#MODEL), which is often the production code name. For example, the Nexus One returns `Passion`, and Motorola Droid returns `voles`.\n\n### Tizen Quirks\n\n- Returns the device model assigned by the vendor, for example, `TIZEN`\n\n### Windows Phone 7 and 8 Quirks\n\n- Returns the device model specified by the manufacturer. For example, the Samsung Focus returns `SGH-i917`.\n\n## device.name\n\n__WARNING__: `device.name` is deprecated as of version 2.3.0. Use `device.model` instead.\n\n## device.platform\n\nGet the device's operating system name.\n\n var string = device.platform;\n\n### Supported Platforms\n\n- Android\n- BlackBerry 10\n- Firefox OS\n- iOS\n- Tizen\n- Windows Phone 7 and 8\n- Windows 8\n\n### Quick Example\n\n // Depending on the device, a few examples are:\n // - \"Android\"\n // - \"BlackBerry 10\"\n // - \"iOS\"\n // - \"WinCE\"\n // - \"Tizen\"\n var devicePlatform = device.platform;\n\n### Windows Phone 7 Quirks\n\nWindows Phone 7 devices report the platform as `WinCE`.\n\n### Windows Phone 8 Quirks\n\nWindows Phone 8 devices report the platform as `Win32NT`.\n\n## device.uuid\n\nGet the device's Universally Unique Identifier ([UUID](http://en.wikipedia.org/wiki/Universally_Unique_Identifier)).\n\n var string = device.uuid;\n\n### Description\n\nThe details of how a UUID is generated are determined by the device manufacturer and are specific to the device's platform or model.\n\n### Supported Platforms\n\n- Android\n- BlackBerry 10\n- iOS\n- Tizen\n- Windows Phone 7 and 8\n- Windows 8\n\n### Quick Example\n\n // Android: Returns a random 64-bit integer (as a string, again!)\n // The integer is generated on the device's first boot\n //\n // BlackBerry: Returns the PIN number of the device\n // This is a nine-digit unique integer (as a string, though!)\n //\n // iPhone: (Paraphrased from the UIDevice Class documentation)\n // Returns a string of hash values created from multiple hardware identifies.\n // It is guaranteed to be unique for every device and can't be tied\n // to the user account.\n // Windows Phone 7 : Returns a hash of device+current user,\n // if the user is not defined, a guid is generated and will persist until the app is uninstalled\n // Tizen: returns the device IMEI (International Mobile Equipment Identity or IMEI is a number\n // unique to every GSM and UMTS mobile phone.\n var deviceID = device.uuid;\n\n### iOS Quirk\n\nThe `uuid` on iOS is not unique to a device, but varies for each\napplication, for each installation. It changes if you delete and\nre-install the app, and possibly also when you upgrade iOS, or even\nupgrade the app per version (apparent in iOS 5.1). The `uuid` is not\na reliable value.\n\n### Windows Phone 7 and 8 Quirks\n\nThe `uuid` for Windows Phone 7 requires the permission\n`ID_CAP_IDENTITY_DEVICE`. Microsoft will likely deprecate this\nproperty soon. If the capability is not available, the application\ngenerates a persistent guid that is maintained for the duration of the\napplication's installation on the device.\n\n## device.version\n\nGet the operating system version.\n\n var string = device.version;\n\n### Supported Platforms\n\n- Android 2.1+\n- BlackBerry 10\n- iOS\n- Tizen\n- Windows Phone 7 and 8\n- Windows 8\n\n### Quick Example\n\n // Android: Froyo OS would return \"2.2\"\n // Eclair OS would return \"2.1\", \"2.0.1\", or \"2.0\"\n // Version can also return update level \"2.1-update1\"\n //\n // BlackBerry: Torch 9800 using OS 6.0 would return \"6.0.0.600\"\n //\n // iPhone: iOS 3.2 returns \"3.2\"\n //\n // Windows Phone 7: returns current OS version number, ex. on Mango returns 7.10.7720\n // Tizen: returns \"TIZEN_20120425_2\"\n var deviceVersion = device.version;\n\n"
27 | }
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/plugin.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
26 | Device
27 | Cordova Device Plugin
28 | Apache 2.0
29 | cordova,device
30 | https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
31 | https://issues.apache.org/jira/browse/CB/component/12320648
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 | read_device_identifying_information
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/android/Device.java:
--------------------------------------------------------------------------------
1 | /*
2 | Licensed to the Apache Software Foundation (ASF) under one
3 | or more contributor license agreements. See the NOTICE file
4 | distributed with this work for additional information
5 | regarding copyright ownership. The ASF licenses this file
6 | to you under the Apache License, Version 2.0 (the
7 | "License"); you may not use this file except in compliance
8 | with the License. You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing,
13 | software distributed under the License is distributed on an
14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | KIND, either express or implied. See the License for the
16 | specific language governing permissions and limitations
17 | under the License.
18 | */
19 | package org.apache.cordova.device;
20 |
21 | import java.util.TimeZone;
22 |
23 | import org.apache.cordova.CordovaWebView;
24 | import org.apache.cordova.CallbackContext;
25 | import org.apache.cordova.CordovaPlugin;
26 | import org.apache.cordova.CordovaInterface;
27 | import org.json.JSONArray;
28 | import org.json.JSONException;
29 | import org.json.JSONObject;
30 |
31 | import android.provider.Settings;
32 |
33 | public class Device extends CordovaPlugin {
34 | public static final String TAG = "Device";
35 |
36 | public static String platform; // Device OS
37 | public static String uuid; // Device UUID
38 |
39 | private static final String ANDROID_PLATFORM = "Android";
40 | private static final String AMAZON_PLATFORM = "amazon-fireos";
41 | private static final String AMAZON_DEVICE = "Amazon";
42 |
43 | /**
44 | * Constructor.
45 | */
46 | public Device() {
47 | }
48 |
49 | /**
50 | * Sets the context of the Command. This can then be used to do things like
51 | * get file paths associated with the Activity.
52 | *
53 | * @param cordova The context of the main Activity.
54 | * @param webView The CordovaWebView Cordova is running in.
55 | */
56 | public void initialize(CordovaInterface cordova, CordovaWebView webView) {
57 | super.initialize(cordova, webView);
58 | Device.uuid = getUuid();
59 | }
60 |
61 | /**
62 | * Executes the request and returns PluginResult.
63 | *
64 | * @param action The action to execute.
65 | * @param args JSONArry of arguments for the plugin.
66 | * @param callbackContext The callback id used when calling back into JavaScript.
67 | * @return True if the action was valid, false if not.
68 | */
69 | public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
70 | if (action.equals("getDeviceInfo")) {
71 | JSONObject r = new JSONObject();
72 | r.put("uuid", Device.uuid);
73 | r.put("version", this.getOSVersion());
74 | r.put("platform", this.getPlatform());
75 | r.put("model", this.getModel());
76 | callbackContext.success(r);
77 | }
78 | else {
79 | return false;
80 | }
81 | return true;
82 | }
83 |
84 | //--------------------------------------------------------------------------
85 | // LOCAL METHODS
86 | //--------------------------------------------------------------------------
87 |
88 | /**
89 | * Get the OS name.
90 | *
91 | * @return
92 | */
93 | public String getPlatform() {
94 | String platform;
95 | if (isAmazonDevice()) {
96 | platform = AMAZON_PLATFORM;
97 | } else {
98 | platform = ANDROID_PLATFORM;
99 | }
100 | return platform;
101 | }
102 |
103 | /**
104 | * Get the device's Universally Unique Identifier (UUID).
105 | *
106 | * @return
107 | */
108 | public String getUuid() {
109 | String uuid = Settings.Secure.getString(this.cordova.getActivity().getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
110 | return uuid;
111 | }
112 |
113 | public String getModel() {
114 | String model = android.os.Build.MODEL;
115 | return model;
116 | }
117 |
118 | public String getProductName() {
119 | String productname = android.os.Build.PRODUCT;
120 | return productname;
121 | }
122 |
123 | /**
124 | * Get the OS version.
125 | *
126 | * @return
127 | */
128 | public String getOSVersion() {
129 | String osversion = android.os.Build.VERSION.RELEASE;
130 | return osversion;
131 | }
132 |
133 | public String getSDKVersion() {
134 | @SuppressWarnings("deprecation")
135 | String sdkversion = android.os.Build.VERSION.SDK;
136 | return sdkversion;
137 | }
138 |
139 | public String getTimeZoneID() {
140 | TimeZone tz = TimeZone.getDefault();
141 | return (tz.getID());
142 | }
143 |
144 | /**
145 | * Function to check if the device is manufactured by Amazon
146 | *
147 | * @return
148 | */
149 | public boolean isAmazonDevice() {
150 | if (android.os.Build.MANUFACTURER.equals(AMAZON_DEVICE)) {
151 | return true;
152 | }
153 | return false;
154 | }
155 |
156 | }
157 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/blackberry10/index.js:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Licensed to the Apache Software Foundation (ASF) under one
4 | * or more contributor license agreements. See the NOTICE file
5 | * distributed with this work for additional information
6 | * regarding copyright ownership. The ASF licenses this file
7 | * to you under the Apache License, Version 2.0 (the
8 | * "License"); you may not use this file except in compliance
9 | * with the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing,
14 | * software distributed under the License is distributed on an
15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | * KIND, either express or implied. See the License for the
17 | * specific language governing permissions and limitations
18 | * under the License.
19 | *
20 | */
21 |
22 | function getModelName () {
23 | var modelName = window.qnx.webplatform.device.modelName;
24 | //Pre 10.2 (meaning Z10 or Q10)
25 | if (typeof modelName === "undefined") {
26 | if (window.screen.height === 720 && window.screen.width === 720) {
27 | if ( window.matchMedia("(-blackberry-display-technology: -blackberry-display-oled)").matches) {
28 | modelName = "Q10";
29 | } else {
30 | modelName = "Q5";
31 | }
32 | } else if ((window.screen.height === 1280 && window.screen.width === 768) ||
33 | (window.screen.height === 768 && window.screen.width === 1280)) {
34 | modelName = "Z10";
35 | } else {
36 | modelName = window.qnx.webplatform.deviceName;
37 | }
38 | }
39 |
40 | return modelName;
41 | }
42 |
43 | function getUUID () {
44 | var uuid = "";
45 | try {
46 | //Must surround by try catch because this will throw if the app is missing permissions
47 | uuid = window.qnx.webplatform.device.devicePin;
48 | } catch (e) {
49 | //DO Nothing
50 | }
51 | return uuid;
52 | }
53 |
54 | module.exports = {
55 | getDeviceInfo: function (success, fail, args, env) {
56 | var result = new PluginResult(args, env),
57 | modelName = getModelName(),
58 | uuid = getUUID(),
59 | info = {
60 | platform: "blackberry10",
61 | version: window.qnx.webplatform.device.scmBundle,
62 | model: modelName,
63 | uuid: uuid
64 | };
65 |
66 | result.ok(info);
67 | }
68 | };
69 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/firefoxos/DeviceProxy.js:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Licensed to the Apache Software Foundation (ASF) under one
4 | * or more contributor license agreements. See the NOTICE file
5 | * distributed with this work for additional information
6 | * regarding copyright ownership. The ASF licenses this file
7 | * to you under the Apache License, Version 2.0 (the
8 | * "License"); you may not use this file except in compliance
9 | * with the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing,
14 | * software distributed under the License is distributed on an
15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | * KIND, either express or implied. See the License for the
17 | * specific language governing permissions and limitations
18 | * under the License.
19 | *
20 | */
21 | //example UA String for Firefox OS
22 | //Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0
23 | var firefoxos = require('cordova/platform');
24 | var cordova = require('cordova');
25 |
26 | //UA parsing not recommended but currently this is the only way to get the Firefox OS version
27 | //https://developer.mozilla.org/en-US/docs/Gecko_user_agent_string_reference
28 |
29 | //Should be replaced when better conversion to Firefox OS Version is available
30 | function convertVersionNumber(ver) {
31 | var hashVersion = {
32 | '18.0': '1.0.1',
33 | '18.1': '1.1',
34 | '26.0': '1.2',
35 | '28.0': '1.3',
36 | '30.0': '1.4',
37 | '32.0': '2.0'
38 | };
39 | var rver = ver;
40 | var sStr = ver.substring(0, 4);
41 | if (hashVersion[sStr]) {
42 | rver = hashVersion[sStr];
43 | }
44 | return (rver);
45 |
46 | }
47 | function getVersion() {
48 | if (navigator.userAgent.match(/(mobile|tablet)/i)) {
49 | var ffVersionArray = (navigator.userAgent.match(/Firefox\/([\d]+\.[\w]?\.?[\w]+)/));
50 | if (ffVersionArray.length === 2) {
51 | return (convertVersionNumber(ffVersionArray[1]));
52 | }
53 | }
54 | return (null);
55 | }
56 |
57 | function getModel() {
58 | var uaArray = navigator.userAgent.split(/\s*[;)(]\s*/);
59 | if (navigator.userAgent.match(/(mobile|tablet)/i)) {
60 | if (uaArray.length === 5) {
61 | return (uaArray[2]);
62 | }
63 | }
64 | return (null);
65 | }
66 | module.exports = {
67 | getDeviceInfo: function (success, error) {
68 | setTimeout(function () {
69 | success({
70 | cordova: firefoxos.cordovaVersion,
71 | platform: 'firefoxos',
72 | model: getModel(),
73 | version: getVersion(),
74 | uuid: null
75 | });
76 | }, 0);
77 | }
78 | };
79 |
80 | require("cordova/firefoxos/commandProxy").add("Device", module.exports);
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/ios/CDVDevice.h:
--------------------------------------------------------------------------------
1 | /*
2 | Licensed to the Apache Software Foundation (ASF) under one
3 | or more contributor license agreements. See the NOTICE file
4 | distributed with this work for additional information
5 | regarding copyright ownership. The ASF licenses this file
6 | to you under the Apache License, Version 2.0 (the
7 | "License"); you may not use this file except in compliance
8 | with the License. You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing,
13 | software distributed under the License is distributed on an
14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | KIND, either express or implied. See the License for the
16 | specific language governing permissions and limitations
17 | under the License.
18 | */
19 |
20 | #import
21 | #import
22 |
23 | @interface CDVDevice : CDVPlugin
24 | {}
25 |
26 | + (NSString*)cordovaVersion;
27 |
28 | - (void)getDeviceInfo:(CDVInvokedUrlCommand*)command;
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/ios/CDVDevice.m:
--------------------------------------------------------------------------------
1 | /*
2 | Licensed to the Apache Software Foundation (ASF) under one
3 | or more contributor license agreements. See the NOTICE file
4 | distributed with this work for additional information
5 | regarding copyright ownership. The ASF licenses this file
6 | to you under the Apache License, Version 2.0 (the
7 | "License"); you may not use this file except in compliance
8 | with the License. You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing,
13 | software distributed under the License is distributed on an
14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | KIND, either express or implied. See the License for the
16 | specific language governing permissions and limitations
17 | under the License.
18 | */
19 |
20 | #include
21 | #include
22 |
23 | #import
24 | #import "CDVDevice.h"
25 |
26 | @implementation UIDevice (ModelVersion)
27 |
28 | - (NSString*)modelVersion
29 | {
30 | size_t size;
31 |
32 | sysctlbyname("hw.machine", NULL, &size, NULL, 0);
33 | char* machine = malloc(size);
34 | sysctlbyname("hw.machine", machine, &size, NULL, 0);
35 | NSString* platform = [NSString stringWithUTF8String:machine];
36 | free(machine);
37 |
38 | return platform;
39 | }
40 |
41 | @end
42 |
43 | @interface CDVDevice () {}
44 | @end
45 |
46 | @implementation CDVDevice
47 |
48 | - (void)getDeviceInfo:(CDVInvokedUrlCommand*)command
49 | {
50 | NSDictionary* deviceProperties = [self deviceProperties];
51 | CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:deviceProperties];
52 |
53 | /* Settings.plist
54 | * Read the optional Settings.plist file and push these user-defined settings down into the web application.
55 | * This can be useful for supplying build-time configuration variables down to the app to change its behavior,
56 | * such as specifying Full / Lite version, or localization (English vs German, for instance).
57 | */
58 | // TODO: turn this into an iOS only plugin
59 | NSDictionary* temp = [CDVViewController getBundlePlist:@"Settings"];
60 |
61 | if ([temp respondsToSelector:@selector(JSONString)]) {
62 | NSLog(@"Deprecation warning: window.Setting will be removed Aug 2013. Refer to https://issues.apache.org/jira/browse/CB-2433");
63 | NSString* js = [NSString stringWithFormat:@"window.Settings = %@;", [temp JSONString]];
64 | [self.commandDelegate evalJs:js];
65 | }
66 |
67 | [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
68 | }
69 |
70 | - (NSDictionary*)deviceProperties
71 | {
72 | UIDevice* device = [UIDevice currentDevice];
73 | NSMutableDictionary* devProps = [NSMutableDictionary dictionaryWithCapacity:4];
74 |
75 | [devProps setObject:[device modelVersion] forKey:@"model"];
76 | [devProps setObject:@"iOS" forKey:@"platform"];
77 | [devProps setObject:[device systemVersion] forKey:@"version"];
78 | [devProps setObject:[device uniqueAppInstanceIdentifier] forKey:@"uuid"];
79 | [devProps setObject:[[self class] cordovaVersion] forKey:@"cordova"];
80 |
81 | NSDictionary* devReturn = [NSDictionary dictionaryWithDictionary:devProps];
82 | return devReturn;
83 | }
84 |
85 | + (NSString*)cordovaVersion
86 | {
87 | return CDV_VERSION;
88 | }
89 |
90 | @end
91 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/tizen/DeviceProxy.js:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Licensed to the Apache Software Foundation (ASF) under one
4 | * or more contributor license agreements. See the NOTICE file
5 | * distributed with this work for additional information
6 | * regarding copyright ownership. The ASF licenses this file
7 | * to you under the Apache License, Version 2.0 (the
8 | * "License"); you may not use this file except in compliance
9 | * with the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing,
14 | * software distributed under the License is distributed on an
15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | * KIND, either express or implied. See the License for the
17 | * specific language governing permissions and limitations
18 | * under the License.
19 | *
20 | */
21 |
22 | var tizen = require('cordova/platform');
23 | var cordova = require('cordova');
24 |
25 | module.exports = {
26 | getDeviceInfo: function(success, error) {
27 | setTimeout(function () {
28 | success({
29 | cordova: tizen.cordovaVersion,
30 | platform: 'tizen',
31 | model: null,
32 | version: null,
33 | uuid: null
34 | });
35 | }, 0);
36 | }
37 | };
38 |
39 | require("cordova/tizen/commandProxy").add("Device", module.exports);
40 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/ubuntu/device.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2011 Wolfgang Koller - http://www.gofg.at/
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #include
18 | #include
19 |
20 | #include"device.h"
21 |
22 | #define CORDOVA "3.0.0"
23 |
24 | Device::Device(Cordova *cordova) : CPlugin(cordova) {
25 | }
26 |
27 | static QString getOSName() {
28 | #ifdef Q_OS_SYMBIAN
29 | QString platform = "Symbian";
30 | #endif
31 | #ifdef Q_OS_WIN
32 | QString platform = "Windows";
33 | #endif
34 | #ifdef Q_OS_WINCE
35 | QString platform = "Windows CE";
36 | #endif
37 | #ifdef Q_OS_LINUX
38 | QString platform = "Linux";
39 | #endif
40 | return platform;
41 | }
42 |
43 | void Device::getInfo(int scId, int ecId) {
44 | Q_UNUSED(ecId)
45 |
46 | QDeviceInfo systemDeviceInfo;
47 | QDeviceInfo systemInfo;
48 |
49 | QString platform = getOSName();
50 |
51 | QString uuid = systemDeviceInfo.uniqueDeviceID();
52 | if (uuid.isEmpty()) {
53 | QString deviceDescription = systemInfo.imei(0) + ";" + systemInfo.manufacturer() + ";" + systemInfo.model() + ";" + systemInfo.productName() + ";" + platform;
54 | QString user = qgetenv("USER");
55 | if (user.isEmpty()) {
56 | user = qgetenv("USERNAME");
57 | if (user.isEmpty())
58 | user = QDir::homePath();
59 | }
60 | uuid = QString(QCryptographicHash::hash((deviceDescription + ";" + user).toUtf8(), QCryptographicHash::Md5).toHex());
61 | }
62 |
63 | this->cb(scId, systemDeviceInfo.model(), CORDOVA, platform, uuid, systemInfo.version(QDeviceInfo::Os));
64 | }
65 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/ubuntu/device.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2011 Wolfgang Koller - http://www.gofg.at/
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef DEVICE_H_FDSAFAS
18 | #define DEVICE_H_FDSAFAS
19 |
20 | #include
21 |
22 | #include
23 |
24 | class Device: public CPlugin {
25 | Q_OBJECT
26 | public:
27 | explicit Device(Cordova *cordova);
28 |
29 | virtual const QString fullName() override {
30 | return Device::fullID();
31 | }
32 |
33 | virtual const QString shortName() override {
34 | return "Device";
35 | }
36 |
37 | static const QString fullID() {
38 | return "com.cordova.Device";
39 | }
40 |
41 | signals:
42 |
43 | public slots:
44 | void getInfo(int scId, int ecId);
45 | };
46 |
47 | #endif
48 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/ubuntu/device.js:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Licensed to the Apache Software Foundation (ASF) under one
4 | * or more contributor license agreements. See the NOTICE file
5 | * distributed with this work for additional information
6 | * regarding copyright ownership. The ASF licenses this file
7 | * to you under the Apache License, Version 2.0 (the
8 | * "License"); you may not use this file except in compliance
9 | * with the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing,
14 | * software distributed under the License is distributed on an
15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | * KIND, either express or implied. See the License for the
17 | * specific language governing permissions and limitations
18 | * under the License.
19 | *
20 | */
21 |
22 | var cordova = require('cordova');
23 | var exec = require('cordova/exec');
24 |
25 | module.exports = {
26 | getInfo:function(win,fail,args) {
27 | Cordova.exec(function (model, cordova, platform, uuid, version) {
28 | win({name: name, model: model, cordova: cordova,
29 | platform: platform, uuid: uuid, version: version});
30 | }, null, "com.cordova.Device", "getInfo", []);
31 | }
32 | };
33 |
34 | require("cordova/exec/proxy").add("Device", module.exports);
35 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/windows8/DeviceProxy.js:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Licensed to the Apache Software Foundation (ASF) under one
4 | * or more contributor license agreements. See the NOTICE file
5 | * distributed with this work for additional information
6 | * regarding copyright ownership. The ASF licenses this file
7 | * to you under the Apache License, Version 2.0 (the
8 | * "License"); you may not use this file except in compliance
9 | * with the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing,
14 | * software distributed under the License is distributed on an
15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | * KIND, either express or implied. See the License for the
17 | * specific language governing permissions and limitations
18 | * under the License.
19 | *
20 | */
21 |
22 |
23 | var cordova = require('cordova');
24 | var utils = require('cordova/utils');
25 |
26 | module.exports = {
27 |
28 | getDeviceInfo:function(win,fail,args) {
29 |
30 | // deviceId aka uuid, stored in Windows.Storage.ApplicationData.current.localSettings.values.deviceId
31 | var deviceId;
32 |
33 | var localSettings = Windows.Storage.ApplicationData.current.localSettings;
34 |
35 | if (localSettings.values.deviceId) {
36 | deviceId = localSettings.values.deviceId;
37 | }
38 | else {
39 | deviceId = localSettings.values.deviceId = utils.createUUID();
40 | }
41 |
42 | setTimeout(function () {
43 | win({ platform: "windows8", version: "8", uuid: deviceId, model: window.clientInformation.platform });
44 | }, 0);
45 | }
46 |
47 | };
48 |
49 | require("cordova/exec/proxy").add("Device", module.exports);
50 |
51 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/wp/Device.cs:
--------------------------------------------------------------------------------
1 | /*
2 | Licensed under the Apache License, Version 2.0 (the "License");
3 | you may not use this file except in compliance with the License.
4 | You may obtain a copy of the License at
5 |
6 | http://www.apache.org/licenses/LICENSE-2.0
7 |
8 | Unless required by applicable law or agreed to in writing, software
9 | distributed under the License is distributed on an "AS IS" BASIS,
10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | See the License for the specific language governing permissions and
12 | limitations under the License.
13 | */
14 |
15 | using System;
16 | using System.Net;
17 | using System.Windows;
18 | using System.Windows.Controls;
19 | using System.Windows.Documents;
20 | using System.Windows.Ink;
21 | using System.Windows.Input;
22 | using System.Windows.Media;
23 | using System.Windows.Media.Animation;
24 | using System.Windows.Shapes;
25 | using Microsoft.Phone.Info;
26 | using System.IO.IsolatedStorage;
27 | using System.Windows.Resources;
28 | using System.IO;
29 | using System.Diagnostics;
30 |
31 | namespace WPCordovaClassLib.Cordova.Commands
32 | {
33 | public class Device : BaseCommand
34 | {
35 | public void getDeviceInfo(string notused)
36 | {
37 |
38 | string res = String.Format("\"name\":\"{0}\",\"platform\":\"{1}\",\"uuid\":\"{2}\",\"version\":\"{3}\",\"model\":\"{4}\"",
39 | this.name,
40 | this.platform,
41 | this.uuid,
42 | this.version,
43 | this.model);
44 |
45 | res = "{" + res + "}";
46 | //Debug.WriteLine("Result::" + res);
47 | DispatchCommandResult(new PluginResult(PluginResult.Status.OK, res));
48 | }
49 |
50 | public string model
51 | {
52 | get
53 | {
54 | return DeviceStatus.DeviceName;
55 | //return String.Format("{0},{1},{2}", DeviceStatus.DeviceManufacturer, DeviceStatus.DeviceHardwareVersion, DeviceStatus.DeviceFirmwareVersion);
56 | }
57 | }
58 |
59 | public string name
60 | {
61 | get
62 | {
63 | return DeviceStatus.DeviceName;
64 |
65 | }
66 | }
67 |
68 | public string platform
69 | {
70 | get
71 | {
72 | return Environment.OSVersion.Platform.ToString();
73 | }
74 | }
75 |
76 | public string uuid
77 | {
78 | get
79 | {
80 | string returnVal = "";
81 | object id;
82 | UserExtendedProperties.TryGetValue("ANID", out id);
83 |
84 | if (id != null)
85 | {
86 | returnVal = id.ToString().Substring(2, 32);
87 | }
88 | else
89 | {
90 | returnVal = "???unknown???";
91 |
92 | using (IsolatedStorageFile appStorage = IsolatedStorageFile.GetUserStoreForApplication())
93 | {
94 | try
95 | {
96 | IsolatedStorageFileStream fileStream = new IsolatedStorageFileStream("DeviceID.txt", FileMode.Open, FileAccess.Read, appStorage);
97 |
98 | using (StreamReader reader = new StreamReader(fileStream))
99 | {
100 | returnVal = reader.ReadLine();
101 | }
102 | }
103 | catch (Exception /*ex*/)
104 | {
105 |
106 | }
107 | }
108 | }
109 |
110 | return returnVal;
111 | }
112 | }
113 |
114 | public string version
115 | {
116 | get
117 | {
118 | return Environment.OSVersion.Version.ToString();
119 | }
120 | }
121 |
122 | }
123 | }
124 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/www/device.js:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Licensed to the Apache Software Foundation (ASF) under one
4 | * or more contributor license agreements. See the NOTICE file
5 | * distributed with this work for additional information
6 | * regarding copyright ownership. The ASF licenses this file
7 | * to you under the Apache License, Version 2.0 (the
8 | * "License"); you may not use this file except in compliance
9 | * with the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing,
14 | * software distributed under the License is distributed on an
15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | * KIND, either express or implied. See the License for the
17 | * specific language governing permissions and limitations
18 | * under the License.
19 | *
20 | */
21 |
22 | var argscheck = require('cordova/argscheck'),
23 | channel = require('cordova/channel'),
24 | utils = require('cordova/utils'),
25 | exec = require('cordova/exec'),
26 | cordova = require('cordova');
27 |
28 | channel.createSticky('onCordovaInfoReady');
29 | // Tell cordova channel to wait on the CordovaInfoReady event
30 | channel.waitForInitialization('onCordovaInfoReady');
31 |
32 | /**
33 | * This represents the mobile device, and provides properties for inspecting the model, version, UUID of the
34 | * phone, etc.
35 | * @constructor
36 | */
37 | function Device() {
38 | this.available = false;
39 | this.platform = null;
40 | this.version = null;
41 | this.uuid = null;
42 | this.cordova = null;
43 | this.model = null;
44 |
45 | var me = this;
46 |
47 | channel.onCordovaReady.subscribe(function() {
48 | me.getInfo(function(info) {
49 | //ignoring info.cordova returning from native, we should use value from cordova.version defined in cordova.js
50 | //TODO: CB-5105 native implementations should not return info.cordova
51 | var buildLabel = cordova.version;
52 | me.available = true;
53 | me.platform = info.platform;
54 | me.version = info.version;
55 | me.uuid = info.uuid;
56 | me.cordova = buildLabel;
57 | me.model = info.model;
58 | channel.onCordovaInfoReady.fire();
59 | },function(e) {
60 | me.available = false;
61 | utils.alert("[ERROR] Error initializing Cordova: " + e);
62 | });
63 | });
64 | }
65 |
66 | /**
67 | * Get device info
68 | *
69 | * @param {Function} successCallback The function to call when the heading data is available
70 | * @param {Function} errorCallback The function to call when there is an error getting the heading data. (OPTIONAL)
71 | */
72 | Device.prototype.getInfo = function(successCallback, errorCallback) {
73 | argscheck.checkArgs('fF', 'Device.getInfo', arguments);
74 | exec(successCallback, errorCallback, "Device", "getDeviceInfo", []);
75 | };
76 |
77 | module.exports = new Device();
78 |
--------------------------------------------------------------------------------
/scss/ionic.app.scss:
--------------------------------------------------------------------------------
1 | /*
2 | To customize the look and feel of Ionic, you can override the variables
3 | in ionic's _variables.scss file.
4 |
5 | For example, you might change some of the default colors:
6 |
7 | $light: #fff !default;
8 | $stable: #f8f8f8 !default;
9 | $positive: #4a87ee !default;
10 | $calm: #43cee6 !default;
11 | $balanced: #66cc33 !default;
12 | $energized: #f0b840 !default;
13 | $assertive: #ef4e3a !default;
14 | $royal: #8a6de9 !default;
15 | $dark: #444 !default;
16 | */
17 |
18 | // The path for our ionicons font files, relative to the built CSS in www/css
19 | $ionicons-font-path: "../lib/ionic/fonts" !default;
20 |
21 | // Include all of Ionic
22 | @import "www/lib/ionic/scss/ionic";
23 |
24 |
--------------------------------------------------------------------------------
/www/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshilomas/DatePicker-IonicApp/9403fe778b54161eb16efd364bad97d8e751e2df/www/.gitignore
--------------------------------------------------------------------------------
/www/README.md:
--------------------------------------------------------------------------------
1 | This is an addon starter template for the [Ionic Framework](http://ionicframework.com/).
2 |
3 | ## How to use this template
4 |
5 | *This template does not work on its own*. It is missing the Ionic library, and AngularJS.
6 |
7 | To use this, either create a new ionic project using the ionic node.js utility, or copy and paste this into an existing Cordova project and download a release of Ionic separately.
8 |
9 | ### With the Ionic tool:
10 |
11 | Take the name after `ionic-starter-`, and that is the name of the template to be used when using the `ionic start` command below:
12 |
13 | ```bash
14 | $ sudo npm install -g ionic cordova
15 | $ ionic start myApp sidemenu
16 | ```
17 |
18 | Then, to run it, cd into `myApp` and run:
19 |
20 | ```bash
21 | $ ionic platform add ios
22 | $ ionic build ios
23 | $ ionic emulate ios
24 | ```
25 |
26 | Substitute ios for android if not on a Mac, but if you can, the ios development toolchain is a lot easier to work with until you need to do anything custom to Android.
27 |
28 | ## Demo
29 | http://plnkr.co/edit/0RXSDB?p=preview
30 |
31 | ## Issues
32 | Issues have been disabled on this repo, if you do find an issue or have a question consider posting it on the [Ionic Forum](http://forum.ionicframework.com/). Or else if there is truly an error, follow our guidelines for [submitting an issue](http://ionicframework.com/contribute/#issues) to the main Ionic repository. On the other hand, pull requests are welcome here!
33 |
--------------------------------------------------------------------------------
/www/css/style.css:
--------------------------------------------------------------------------------
1 | /* Empty. Add your own CSS if you like */
2 |
--------------------------------------------------------------------------------
/www/img/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshilomas/DatePicker-IonicApp/9403fe778b54161eb16efd364bad97d8e751e2df/www/img/Thumbs.db
--------------------------------------------------------------------------------
/www/img/ionic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshilomas/DatePicker-IonicApp/9403fe778b54161eb16efd364bad97d8e751e2df/www/img/ionic.png
--------------------------------------------------------------------------------
/www/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/www/js/app.js:
--------------------------------------------------------------------------------
1 | // Ionic Starter App
2 |
3 | // angular.module is a global place for creating, registering and retrieving Angular modules
4 | // 'asianbattery' is the name of this angular module example (also set in a attribute in index.html)
5 | // the 2nd parameter is an array of 'requires'
6 | // 'asianbattery.controllers' is found in controllers.js
7 | angular.module('datepickerapp', ['ionic','datepickerapp.controllers'])
8 |
9 | .run(function($ionicPlatform) {
10 | $ionicPlatform.ready(function() {
11 | if(window.StatusBar) {
12 | // org.apache.cordova.statusbar required
13 | StatusBar.styleDefault();
14 | }
15 | });
16 | })
17 |
18 | .config(function($stateProvider, $urlRouterProvider) {
19 | $stateProvider
20 |
21 | .state('app', {
22 | url: "/app",
23 | abstract: true,
24 | templateUrl: "templates/menu.html",
25 | controller: 'AppCtrl'
26 | })
27 |
28 | .state('app.datepicker', {
29 | url: "/datepicker",
30 | views: {
31 | 'menuContent' :{
32 | templateUrl: "templates/datepicker.html",
33 | controller: 'DatepickerCtrl'
34 | }
35 | }
36 | });
37 |
38 | // if none of the above states are matched, use this as the fallback
39 | $urlRouterProvider.otherwise('/app/datepicker');
40 | });
--------------------------------------------------------------------------------
/www/js/controllers.js:
--------------------------------------------------------------------------------
1 | angular.module('datepickerapp.controllers', ['pickadate'])
2 |
3 | .controller('AppCtrl', function($scope) {
4 | })
5 |
6 | .controller('DatepickerCtrl', function($scope,$ionicModal) {
7 |
8 | $ionicModal.fromTemplateUrl('templates/datemodal.html',
9 | function(modal) {
10 | $scope.datemodal = modal;
11 | },
12 | {
13 | // Use our scope for the scope of the modal to keep it simple
14 | scope: $scope,
15 | // The animation we want to use for the modal entrance
16 | animation: 'slide-in-up'
17 | }
18 | );
19 | $scope.opendateModal = function() {
20 | $scope.datemodal.show();
21 | };
22 | $scope.closedateModal = function(modal) {
23 | $scope.datemodal.hide();
24 | $scope.datepicker = modal;
25 | };
26 | });
--------------------------------------------------------------------------------
/www/lib/datePicker/css/angular-pickadate.css:
--------------------------------------------------------------------------------
1 | .pickadate-header {
2 | position: relative;
3 | }
4 |
5 | .pickadate {
6 | font-family: 'Helvetica Neue', Helvetica, Helvetica, Arial, sans-serif;
7 | }
8 |
9 | .pickadate-main {
10 | margin: 0;
11 | padding: 0;
12 | width: 100%;
13 | text-align: center;
14 | font-size: 12px;
15 | }
16 |
17 | .pickadate a:visited, .pickadate a {
18 | color: #666666;
19 | }
20 |
21 | .pickadate-cell {
22 | overflow: hidden;
23 | margin: 0;
24 | padding: 0;
25 | }
26 |
27 | .pickadate-cell li {
28 | display: block;
29 | float: left;
30 | border: 1px solid #DCDCDC;
31 | border-width: 0 1px 1px 0;
32 | width: 14.285%;
33 | padding: 1.3% 0 1.3% 0;
34 | box-sizing: border-box;
35 | -moz-box-sizing: border-box;
36 | -webkit-box-sizing: border-box;
37 | }
38 |
39 | .pickadate-cell li:nth-child(7n+0) {
40 | border-right: 1px solid #DCDCDC;
41 | }
42 |
43 | .pickadate-cell li:nth-child(1),
44 | .pickadate-cell li:nth-child(8),
45 | .pickadate-cell li:nth-child(15),
46 | .pickadate-cell li:nth-child(22),
47 | .pickadate-cell li:nth-child(29),
48 | .pickadate-cell li:nth-child(36) {
49 | border-left: 1px solid #DCDCDC;
50 | }
51 |
52 | .pickadate-cell .pickadate-disabled,
53 | .pickadate-cell .pickadate-disabled a {
54 | color: #DCDCDC;
55 | }
56 |
57 | .pickadate-cell .pickadate-enabled {
58 | cursor: pointer;
59 | font-size: 12px;
60 | color: #666666;
61 | }
62 |
63 | .pickadate-cell .pickadate-today {
64 | background-color: #eaeaea;
65 | }
66 |
67 | .pickadate-cell .pickadate-active {
68 | background-color: #b52a00;
69 | }
70 |
71 | .pickadate-cell .pickadate-active {
72 | color: white;
73 | }
74 |
75 | .pickadate-cell .pickadate-head {
76 | border-top: 1px solid #DCDCDC;
77 | background: #f3f3f3;
78 | }
79 |
80 | .pickadate-cell .pickadate-head:nth-child(1),
81 | .pickadate-cell .pickadate-head:nth-child(7) {
82 | background: #f3f3f3;
83 | }
84 |
85 | .pickadate-centered-heading {
86 | font-weight: normal;
87 | text-align: center;
88 | font-size: 1em;
89 | margin: 13px 0 13px 0;
90 | }
91 |
92 | .pickadate-controls {
93 | position: absolute;
94 | z-index: 10;
95 | width: 100%;
96 | }
97 |
98 | .pickadate-controls .pickadate-next {
99 | float: right;
100 | }
101 |
102 | .pickadate-controls a {
103 | text-decoration: none;
104 | font-size: 0.9em;
105 | }
--------------------------------------------------------------------------------
/www/lib/ionic/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshilomas/DatePicker-IonicApp/9403fe778b54161eb16efd364bad97d8e751e2df/www/lib/ionic/fonts/ionicons.eot
--------------------------------------------------------------------------------
/www/lib/ionic/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshilomas/DatePicker-IonicApp/9403fe778b54161eb16efd364bad97d8e751e2df/www/lib/ionic/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/www/lib/ionic/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshilomas/DatePicker-IonicApp/9403fe778b54161eb16efd364bad97d8e751e2df/www/lib/ionic/fonts/ionicons.woff
--------------------------------------------------------------------------------
/www/lib/ionic/ionicons/_ionicons-animation.scss:
--------------------------------------------------------------------------------
1 | // Animation Icons
2 | // --------------------------
3 |
4 | .#{$ionicons-prefix}spin {
5 | -webkit-animation: spin 1s infinite linear;
6 | -moz-animation: spin 1s infinite linear;
7 | -o-animation: spin 1s infinite linear;
8 | animation: spin 1s infinite linear;
9 | }
10 |
11 | @-moz-keyframes spin {
12 | 0% { -moz-transform: rotate(0deg); }
13 | 100% { -moz-transform: rotate(359deg); }
14 | }
15 | @-webkit-keyframes spin {
16 | 0% { -webkit-transform: rotate(0deg); }
17 | 100% { -webkit-transform: rotate(359deg); }
18 | }
19 | @-o-keyframes spin {
20 | 0% { -o-transform: rotate(0deg); }
21 | 100% { -o-transform: rotate(359deg); }
22 | }
23 | @-ms-keyframes spin {
24 | 0% { -ms-transform: rotate(0deg); }
25 | 100% { -ms-transform: rotate(359deg); }
26 | }
27 | @keyframes spin {
28 | 0% { transform: rotate(0deg); }
29 | 100% { transform: rotate(359deg); }
30 | }
31 |
32 |
33 | .#{$ionicons-prefix}loading-a,
34 | .#{$ionicons-prefix}loading-b,
35 | .#{$ionicons-prefix}loading-c,
36 | .#{$ionicons-prefix}loading-d,
37 | .#{$ionicons-prefix}looping,
38 | .#{$ionicons-prefix}refreshing,
39 | .#{$ionicons-prefix}ios7-reloading {
40 | @extend .ion;
41 | @extend .#{$ionicons-prefix}spin;
42 | }
43 |
44 | .#{$ionicons-prefix}loading-a {
45 | -webkit-animation-timing-function: steps(8, start);
46 | -moz-animation-timing-function: steps(8, start);
47 | animation-timing-function: steps(8, start);
48 | }
49 |
50 | .#{$ionicons-prefix}loading-a:before {
51 | @extend .#{$ionicons-prefix}load-a:before;
52 | }
53 |
54 | .#{$ionicons-prefix}loading-b:before {
55 | @extend .#{$ionicons-prefix}load-b:before;
56 | }
57 |
58 | .#{$ionicons-prefix}loading-c:before {
59 | @extend .#{$ionicons-prefix}load-c:before;
60 | }
61 |
62 | .#{$ionicons-prefix}loading-d:before {
63 | @extend .#{$ionicons-prefix}load-d:before;
64 | }
65 |
66 | .#{$ionicons-prefix}looping:before {
67 | @extend .#{$ionicons-prefix}loop:before;
68 | }
69 |
70 | .#{$ionicons-prefix}refreshing:before {
71 | @extend .#{$ionicons-prefix}refresh:before;
72 | }
73 |
74 | .#{$ionicons-prefix}ios7-reloading:before {
75 | @extend .#{$ionicons-prefix}ios7-reload:before;
76 | }
77 |
--------------------------------------------------------------------------------
/www/lib/ionic/ionicons/_ionicons-font.scss:
--------------------------------------------------------------------------------
1 | // Ionicons Font Path
2 | // --------------------------
3 |
4 | @font-face {
5 | font-family: $ionicons-font-family;
6 | src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}");
7 | src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}#iefix") format("embedded-opentype"),
8 | url("#{$ionicons-font-path}/ionicons.ttf?v=#{$ionicons-version}") format("truetype"),
9 | url("#{$ionicons-font-path}/ionicons.woff?v=#{$ionicons-version}") format("woff"),
10 | url("#{$ionicons-font-path}/ionicons.svg?v=#{$ionicons-version}#Ionicons") format("svg");
11 | font-weight: normal;
12 | font-style: normal;
13 | }
14 |
15 | .ion {
16 | display: inline-block;
17 | font-family: $ionicons-font-family;
18 | speak: none;
19 | font-style: normal;
20 | font-weight: normal;
21 | font-variant: normal;
22 | text-transform: none;
23 | text-rendering: auto;
24 | line-height: 1;
25 | -webkit-font-smoothing: antialiased;
26 | -moz-osx-font-smoothing: grayscale;
27 | }
--------------------------------------------------------------------------------
/www/lib/ionic/ionicons/ionicons.scss:
--------------------------------------------------------------------------------
1 | @import "ionicons-variables";
2 | /*!
3 | Ionicons, v#{$ionicons-version}
4 | Created by Ben Sperry for the Ionic Framework, http://ionicons.com/
5 | https://twitter.com/benjsperry https://twitter.com/ionicframework
6 | MIT License: https://github.com/driftyco/ionicons
7 | */
8 |
9 | @import "ionicons-font";
10 | @import "ionicons-animation";
11 | @import "ionicons-icons";
--------------------------------------------------------------------------------
/www/lib/ionic/js/angular/angular-resource.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | AngularJS v1.2.12
3 | (c) 2010-2014 Google, Inc. http://angularjs.org
4 | License: MIT
5 | */
6 | (function(H,a,A){'use strict';function D(p,g){g=g||{};a.forEach(g,function(a,c){delete g[c]});for(var c in p)!p.hasOwnProperty(c)||"$"===c.charAt(0)&&"$"===c.charAt(1)||(g[c]=p[c]);return g}var v=a.$$minErr("$resource"),C=/^(\.[a-zA-Z_$][0-9a-zA-Z_$]*)+$/;a.module("ngResource",["ng"]).factory("$resource",["$http","$q",function(p,g){function c(a,c){this.template=a;this.defaults=c||{};this.urlParams={}}function t(n,w,l){function r(h,d){var e={};d=x({},w,d);s(d,function(b,d){u(b)&&(b=b());var k;if(b&&
7 | b.charAt&&"@"==b.charAt(0)){k=h;var a=b.substr(1);if(null==a||""===a||"hasOwnProperty"===a||!C.test("."+a))throw v("badmember",a);for(var a=a.split("."),f=0,c=a.length;f=c;d--)e.end&&e.end(f[d]);f.length=c}}var b,g,f=[],l=a;for(f.last=function(){return f[f.length-1]};a;){g=!0;if(f.last()&&x[f.last()])a=a.replace(RegExp("(.*)<\\s*\\/\\s*"+f.last()+"[^>]*>","i"),function(b,a){a=a.replace(H,"$1").replace(I,"$1");e.chars&&e.chars(r(a));return""}),c("",f.last());else{if(0===a.indexOf("\x3c!--"))b=a.indexOf("--",4),0<=b&&a.lastIndexOf("--\x3e",b)===b&&(e.comment&&e.comment(a.substring(4,b)),a=a.substring(b+3),g=!1);else if(y.test(a)){if(b=a.match(y))a=
8 | a.replace(b[0],""),g=!1}else if(J.test(a)){if(b=a.match(z))a=a.substring(b[0].length),b[0].replace(z,c),g=!1}else K.test(a)&&(b=a.match(A))&&(a=a.substring(b[0].length),b[0].replace(A,d),g=!1);g&&(b=a.indexOf("<"),g=0>b?a:a.substring(0,b),a=0>b?"":a.substring(b),e.chars&&e.chars(r(g)))}if(a==l)throw L("badparse",a);l=a}c()}function r(a){if(!a)return"";var e=M.exec(a);a=e[1];var d=e[3];if(e=e[2])n.innerHTML=e.replace(//g,">")}function s(a,e){var d=!1,c=h.bind(a,a.push);return{start:function(a,g,f){a=h.lowercase(a);!d&&x[a]&&(d=a);d||!0!==C[a]||(c("<"),c(a),h.forEach(g,function(d,f){var g=h.lowercase(f),k="img"===a&&"src"===g||"background"===g;!0!==O[g]||!0===D[g]&&!e(d,k)||(c(" "),c(f),c('="'),c(B(d)),c('"'))}),c(f?"/>":">"))},end:function(a){a=h.lowercase(a);d||!0!==C[a]||(c(""),c(a),c(">"));a==d&&(d=!1)},chars:function(a){d||
10 | c(B(a))}}}var L=h.$$minErr("$sanitize"),A=/^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/,z=/^<\s*\/\s*([\w:-]+)[^>]*>/,G=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,K=/^,J=/^<\s*\//,H=/\x3c!--(.*?)--\x3e/g,y=/]*?)>/i,I=/]/,d=/^mailto:/;return function(c,b){function g(a){a&&m.push(E(a))}function f(a,c){m.push("');g(c);m.push("")}if(!c)return c;for(var l,k=c,m=[],n,p;l=k.match(e);)n=l[0],l[2]==l[3]&&(n="mailto:"+n),p=l.index,g(k.substr(0,p)),f(n,l[0].replace(d,"")),k=k.substring(p+l[0].length);g(k);return a(m.join(""))}}])})(window,window.angular);
14 | //# sourceMappingURL=angular-sanitize.min.js.map
15 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_action-sheet.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Action Sheets
3 | * --------------------------------------------------
4 | */
5 |
6 | .action-sheet-backdrop {
7 | @include transition(background-color 300ms ease-in-out);
8 | position: fixed;
9 | top: 0;
10 | left: 0;
11 | z-index: $z-index-action-sheet;
12 | width: 100%;
13 | height: 100%;
14 | background-color: rgba(0,0,0,0);
15 |
16 | &.active {
17 | background-color: rgba(0,0,0,0.5);
18 | }
19 | }
20 |
21 | .action-sheet-wrapper {
22 | @include translate3d(0, 100%, 0);
23 | @include transition(all ease-in-out 300ms);
24 | position: absolute;
25 | bottom: 0;
26 | width: 100%;
27 | }
28 |
29 | .action-sheet-up {
30 | @include translate3d(0, 0, 0);
31 | }
32 |
33 | .action-sheet {
34 | margin-left: 15px;
35 | margin-right: 15px;
36 | width: auto;
37 | z-index: $z-index-action-sheet;
38 | overflow: hidden;
39 |
40 | .button {
41 | display: block;
42 | padding: 1px;
43 | width: 100%;
44 | border-radius: 0;
45 |
46 | background-color: transparent;
47 |
48 | color: $positive;
49 | font-size: 18px;
50 |
51 | &.destructive {
52 | color: $assertive;
53 | }
54 | }
55 | }
56 |
57 | .action-sheet-title {
58 | padding: 10px;
59 | color: lighten($base-color, 40%);
60 | text-align: center;
61 | font-size: 12px;
62 | }
63 |
64 | .action-sheet-group {
65 | margin-bottom: 5px;
66 | border-radius: $sheet-border-radius;
67 | background-color: #fff;
68 | .button {
69 | border-width: 1px 0px 0px 0px;
70 | border-radius: 0;
71 |
72 | &.active {
73 | background-color: transparent;
74 | color: inherit;
75 | }
76 | }
77 | .button:first-child:last-child {
78 | border-width: 0;
79 | }
80 | }
81 |
82 | .action-sheet-open {
83 | pointer-events: none;
84 |
85 | &.modal-open .modal {
86 | pointer-events: none;
87 | }
88 |
89 | .action-sheet-backdrop {
90 | pointer-events: auto;
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_backdrop.scss:
--------------------------------------------------------------------------------
1 |
2 | .backdrop {
3 | position: fixed;
4 | top: 0;
5 | left: 0;
6 | z-index: $z-index-backdrop;
7 |
8 | width: 100%;
9 | height: 100%;
10 |
11 | background-color: rgba(0,0,0,0.4);
12 |
13 | visibility: hidden;
14 | opacity: 0;
15 |
16 | &.visible {
17 | visibility: visible;
18 | }
19 | &.active {
20 | opacity: 1;
21 | }
22 |
23 | @include transition(0.1s opacity linear);
24 | }
25 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_badge.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Badges
4 | * --------------------------------------------------
5 | */
6 |
7 | .badge {
8 | @include badge-style($badge-default-bg, $badge-default-text);
9 | z-index: $z-index-badge;
10 | display: inline-block;
11 | padding: 3px 8px;
12 | min-width: 10px;
13 | border-radius: $badge-border-radius;
14 | vertical-align: baseline;
15 | text-align: center;
16 | white-space: nowrap;
17 | font-weight: $badge-font-weight;
18 | font-size: $badge-font-size;
19 | line-height: $badge-line-height;
20 |
21 | &:empty {
22 | display: none;
23 | }
24 | }
25 |
26 | //Be sure to override specificity of rule that 'badge color matches tab color by default'
27 | .tabs .tab-item .badge,
28 | .badge {
29 | &.badge-light {
30 | @include badge-style($badge-light-bg, $badge-light-text);
31 | }
32 | &.badge-stable {
33 | @include badge-style($badge-stable-bg, $badge-stable-text);
34 | }
35 | &.badge-positive {
36 | @include badge-style($badge-positive-bg, $badge-positive-text);
37 | }
38 | &.badge-calm {
39 | @include badge-style($badge-calm-bg, $badge-calm-text);
40 | }
41 | &.badge-assertive {
42 | @include badge-style($badge-assertive-bg, $badge-assertive-text);
43 | }
44 | &.badge-balanced {
45 | @include badge-style($badge-balanced-bg, $badge-balanced-text);
46 | }
47 | &.badge-energized {
48 | @include badge-style($badge-energized-bg, $badge-energized-text);
49 | }
50 | &.badge-royal {
51 | @include badge-style($badge-royal-bg, $badge-royal-text);
52 | }
53 | &.badge-dark {
54 | @include badge-style($badge-dark-bg, $badge-dark-text);
55 | }
56 | }
57 |
58 | // Quick fix for labels/badges in buttons
59 | .button .badge {
60 | position: relative;
61 | top: -1px;
62 | }
63 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_button-bar.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Button Bar
4 | * --------------------------------------------------
5 | */
6 |
7 | .button-bar {
8 | @include display-flex();
9 | @include flex(1);
10 | width: 100%;
11 |
12 | &.button-bar-inline {
13 | display: block;
14 | width: auto;
15 |
16 | @include clearfix();
17 |
18 | > .button {
19 | width: auto;
20 | display: inline-block;
21 | float: left;
22 | }
23 | }
24 | }
25 |
26 | .button-bar > .button {
27 | @include flex(1);
28 | display: block;
29 |
30 | overflow: hidden;
31 |
32 | padding: 0 16px;
33 |
34 | width: 0;
35 |
36 | border-width: 1px 0px 1px 1px;
37 | border-radius: 0;
38 | text-align: center;
39 | text-overflow: ellipsis;
40 | white-space: nowrap;
41 |
42 | &:before,
43 | .icon:before {
44 | line-height: 44px;
45 | }
46 |
47 | &:first-child {
48 | border-radius: 2px 0px 0px 2px;
49 | }
50 | &:last-child {
51 | border-right-width: 1px;
52 | border-radius: 0px 2px 2px 0px;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_checkbox.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Checkbox
4 | * --------------------------------------------------
5 | */
6 |
7 | .checkbox {
8 | // set the color defaults
9 | @include checkbox-style($checkbox-off-border-default, $checkbox-on-bg-default);
10 |
11 | position: relative;
12 | display: inline-block;
13 | padding: ($checkbox-height / 4) ($checkbox-width / 4);
14 | cursor: pointer;
15 |
16 | &.checkbox-light {
17 | @include checkbox-style($checkbox-off-border-light, $checkbox-on-bg-light);
18 | }
19 | &.checkbox-stable {
20 | @include checkbox-style($checkbox-off-border-stable, $checkbox-on-bg-stable);
21 | }
22 | &.checkbox-positive {
23 | @include checkbox-style($checkbox-off-border-positive, $checkbox-on-bg-positive);
24 | }
25 | &.checkbox-calm {
26 | @include checkbox-style($checkbox-off-border-calm, $checkbox-on-bg-calm);
27 | }
28 | &.checkbox-assertive {
29 | @include checkbox-style($checkbox-off-border-assertive, $checkbox-on-bg-assertive);
30 | }
31 | &.checkbox-balanced {
32 | @include checkbox-style($checkbox-off-border-balanced, $checkbox-on-bg-balanced);
33 | }
34 | &.checkbox-energized {
35 | @include checkbox-style($checkbox-off-border-energized, $checkbox-on-bg-energized);
36 | }
37 | &.checkbox-royal {
38 | @include checkbox-style($checkbox-off-border-royal, $checkbox-on-bg-royal);
39 | }
40 | &.checkbox-dark {
41 | @include checkbox-style($checkbox-off-border-dark, $checkbox-on-bg-dark);
42 | }
43 | }
44 |
45 | .checkbox.checkbox-input-hidden input {
46 | display: none !important;
47 | }
48 |
49 | .checkbox input,
50 | .checkbox-icon {
51 | position: relative;
52 | width: $checkbox-width;
53 | height: $checkbox-height;
54 | display: block;
55 | border: 0;
56 | background: transparent;
57 | cursor: pointer;
58 | -webkit-appearance: none;
59 |
60 | &:before {
61 | // what the checkbox looks like when its not checked
62 | display: table;
63 | width: 100%;
64 | height: 100%;
65 | border-width: $checkbox-border-width;
66 | border-style: solid;
67 | border-radius: $checkbox-border-radius;
68 | background: $checkbox-off-bg-color;
69 | content: ' ';
70 | transition: background-color 20ms ease-in-out;
71 | }
72 | }
73 |
74 | .checkbox input:checked:before,
75 | input:checked + .checkbox-icon:before {
76 | border-width: $checkbox-border-width + 1;
77 | }
78 |
79 | // the checkmark within the box
80 | .checkbox input:after,
81 | .checkbox-icon:after {
82 | @include transition(opacity .05s ease-in-out);
83 | @include rotate(-45deg);
84 | position: absolute;
85 | top: 30%;
86 | left: 26%;
87 | display: table;
88 | width: ($checkbox-width / 2) + 1;
89 | height: ($checkbox-width / 3) + 1;
90 | border: $checkbox-check-width solid $checkbox-check-color;
91 | border-top: 0;
92 | border-right: 0;
93 | content: ' ';
94 | opacity: 0;
95 | }
96 |
97 | .grade-c .checkbox input:after,
98 | .grade-c .checkbox-icon:after {
99 | @include rotate(0);
100 | top: 3px;
101 | left: 4px;
102 | border: none;
103 | color: $checkbox-check-color;
104 | content: '\2713';
105 | font-weight: bold;
106 | font-size: 20px;
107 | }
108 |
109 | // what the checkmark looks like when its checked
110 | .checkbox input:checked:after,
111 | input:checked + .checkbox-icon:after {
112 | opacity: 1;
113 | }
114 |
115 | // make sure item content have enough padding on left to fit the checkbox
116 | .item-checkbox {
117 | padding-left: ($item-padding * 2) + $checkbox-width;
118 |
119 | &.active {
120 | box-shadow: none;
121 | }
122 | }
123 |
124 | // position the checkbox to the left within an item
125 | .item-checkbox .checkbox {
126 | position: absolute;
127 | top: 50%;
128 | right: $item-padding / 2;
129 | left: $item-padding / 2;
130 | z-index: $z-index-item-checkbox;
131 | margin-top: (($checkbox-height + ($checkbox-height / 2)) / 2) * -1;
132 | }
133 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_form.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Forms
3 | * --------------------------------------------------
4 | */
5 |
6 | // Make all forms have space below them
7 | form {
8 | margin: 0 0 $line-height-base;
9 | }
10 |
11 | // Groups of fields with labels on top (legends)
12 | legend {
13 | display: block;
14 | margin-bottom: $line-height-base;
15 | padding: 0;
16 | width: 100%;
17 | border: $input-border-width solid $input-border;
18 | color: $dark;
19 | font-size: $font-size-base * 1.5;
20 | line-height: $line-height-base * 2;
21 |
22 | small {
23 | color: $stable;
24 | font-size: $line-height-base * .75;
25 | }
26 | }
27 |
28 | // Set font for forms
29 | label,
30 | input,
31 | button,
32 | select,
33 | textarea {
34 | @include font-shorthand($font-size-base, normal, $line-height-base); // Set size, weight, line-height here
35 | }
36 | input,
37 | button,
38 | select,
39 | textarea {
40 | font-family: $font-family-base; // And only set font-family here for those that need it (note the missing label element)
41 | }
42 |
43 |
44 | // Input List
45 | // -------------------------------
46 |
47 | .item-input {
48 | @include display-flex();
49 | @include align-items(center);
50 | position: relative;
51 | overflow: hidden;
52 | padding: 6px 0 5px 8px;
53 |
54 | input {
55 | @include border-radius(0);
56 | @include flex(1, 0, 220px);
57 | @include appearance(none);
58 | margin: 0;
59 | padding-right: 24px;
60 | background-color: transparent;
61 | }
62 |
63 | .button .icon {
64 | @include flex(0, 0, 24px);
65 | position: static;
66 | display: inline-block;
67 | height: auto;
68 | text-align: center;
69 | font-size: 16px;
70 | }
71 |
72 | .button-bar {
73 | @include border-radius(0);
74 | @include flex(1, 0, 220px);
75 | @include appearance(none);
76 | }
77 |
78 | .icon {
79 | min-width: 14px;
80 | }
81 | }
82 |
83 | .item-input-inset {
84 | @include display-flex();
85 | @include align-items(center);
86 | position: relative;
87 | overflow: hidden;
88 | padding: ($item-padding / 3) * 2;
89 | }
90 |
91 | .item-input-wrapper {
92 | @include display-flex();
93 | @include flex(1, 0);
94 | @include align-items(center);
95 | @include border-radius(4px);
96 | padding-right: 8px;
97 | padding-left: 8px;
98 | background: #eee;
99 | }
100 |
101 | .item-input-inset .item-input-wrapper input {
102 | padding-left: 4px;
103 | height: 29px;
104 | background: inherit;
105 | line-height: 18px;
106 | }
107 |
108 | .item-input-wrapper ~ .button {
109 | margin-left: ($item-padding / 3) * 2;
110 | }
111 |
112 | .input-label {
113 | @include flex(1, 0, 100px);
114 | display: table;
115 | padding: 7px 10px 7px 3px;
116 | max-width: 200px;
117 | width: 35%;
118 | color: $input-label-color;
119 | font-weight: bold;
120 | font-size: $font-size-base;
121 | }
122 |
123 | .placeholder-icon {
124 | color: #aaa;
125 | &:first-child {
126 | padding-right: 6px;
127 | }
128 | &:last-child {
129 | padding-left: 6px;
130 | }
131 | }
132 |
133 | .item-stacked-label {
134 | display: block;
135 | background-color: transparent;
136 | box-shadow: none;
137 |
138 | .input-label, .icon {
139 | display: inline-block;
140 | padding: 4px 0;
141 | vertical-align: middle;
142 | }
143 | }
144 |
145 | .item-stacked-label input,
146 | .item-stacked-label textarea
147 | {
148 | @include border-radius(2px);
149 | overflow: hidden;
150 | padding: 4px 8px 3px;
151 | border: none;
152 | background-color: $input-bg;
153 | }
154 | .item-stacked-label input {
155 | height: $line-height-computed + $font-size-base + 12px;
156 | }
157 |
158 |
159 | // Form Controls
160 | // -------------------------------
161 |
162 | // Shared size and type resets
163 | textarea,
164 | input[type="text"],
165 | input[type="password"],
166 | input[type="datetime"],
167 | input[type="datetime-local"],
168 | input[type="date"],
169 | input[type="month"],
170 | input[type="time"],
171 | input[type="week"],
172 | input[type="number"],
173 | input[type="email"],
174 | input[type="url"],
175 | input[type="search"],
176 | input[type="tel"],
177 | input[type="color"] {
178 | display: block;
179 | padding-top: 2px;
180 | height: $line-height-computed + $font-size-base;
181 | color: $input-color;
182 | vertical-align: middle;
183 | font-size: $font-size-base;
184 | line-height: $font-size-base + 2;
185 | }
186 |
187 | input,
188 | textarea {
189 | width: 100%;
190 | }
191 |
192 | // Reset height since textareas have rows
193 | textarea {
194 | height: auto;
195 | }
196 |
197 | // Everything else
198 | textarea,
199 | input[type="text"],
200 | input[type="password"],
201 | input[type="datetime"],
202 | input[type="datetime-local"],
203 | input[type="date"],
204 | input[type="month"],
205 | input[type="time"],
206 | input[type="week"],
207 | input[type="number"],
208 | input[type="email"],
209 | input[type="url"],
210 | input[type="search"],
211 | input[type="tel"],
212 | input[type="color"] {
213 | border: 0;
214 | }
215 |
216 | // Position radios and checkboxes better
217 | input[type="radio"],
218 | input[type="checkbox"] {
219 | margin: 0;
220 | line-height: normal;
221 | }
222 |
223 | // Reset width of input images, buttons, radios, checkboxes
224 | input[type="file"],
225 | input[type="image"],
226 | input[type="submit"],
227 | input[type="reset"],
228 | input[type="button"],
229 | input[type="radio"],
230 | input[type="checkbox"] {
231 | width: auto; // Override of generic input selector
232 | }
233 |
234 | // Set the height of file to match text inputs
235 | input[type="file"] {
236 | line-height: $input-height-base;
237 | }
238 |
239 | // Text input classes to hide text caret during scroll
240 | .previous-input-focus,
241 | .cloned-text-input + input,
242 | .cloned-text-input + textarea {
243 | position: absolute;
244 | left: -9999px;
245 | width: 200px;
246 | }
247 |
248 |
249 | // Placeholder
250 | // -------------------------------
251 | input,
252 | textarea {
253 | @include placeholder();
254 | }
255 |
256 |
257 | // DISABLED STATE
258 | // -------------------------------
259 |
260 | // Disabled and read-only inputs
261 | input[disabled],
262 | select[disabled],
263 | textarea[disabled],
264 | input[readonly]:not(.cloned-text-input),
265 | textarea[readonly]:not(.cloned-text-input),
266 | select[readonly] {
267 | background-color: $input-bg-disabled;
268 | cursor: not-allowed;
269 | }
270 | // Explicitly reset the colors here
271 | input[type="radio"][disabled],
272 | input[type="checkbox"][disabled],
273 | input[type="radio"][readonly],
274 | input[type="checkbox"][readonly] {
275 | background-color: transparent;
276 | }
277 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_grid.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Grid
3 | * --------------------------------------------------
4 | * Using flexbox for the grid, inspired by Philip Walton:
5 | * http://philipwalton.github.io/solved-by-flexbox/demos/grids/
6 | * By default each .col within a .row will evenly take up
7 | * available width, and the height of each .col with take
8 | * up the height of the tallest .col in the same .row.
9 | */
10 |
11 | .row {
12 | @include display-flex();
13 | padding: ($grid-padding-width / 2);
14 | width: 100%;
15 | }
16 |
17 | .row + .row {
18 | margin-top: ($grid-padding-width / 2) * -1;
19 | padding-top: 0;
20 | }
21 |
22 | .col {
23 | @include flex(1);
24 | display: block;
25 | padding: ($grid-padding-width / 2);
26 | width: 100%;
27 | }
28 |
29 |
30 | /* Vertically Align Columns */
31 | /* .row-* vertically aligns every .col in the .row */
32 | .row-top {
33 | @include align-items(flex-start);
34 | }
35 | .row-bottom {
36 | @include align-items(flex-end);
37 | }
38 | .row-center {
39 | @include align-items(center);
40 | }
41 | .row-stretch {
42 | @include align-items(stretch);
43 | }
44 | .row-baseline {
45 | @include align-items(baseline);
46 | }
47 |
48 | /* .col-* vertically aligns an individual .col */
49 | .col-top {
50 | @include align-self(flex-start);
51 | }
52 | .col-bottom {
53 | @include align-self(flex-end);
54 | }
55 | .col-center {
56 | @include align-self(center);
57 | }
58 |
59 | /* Column Offsets */
60 | .col-offset-10 {
61 | margin-left: 10%;
62 | }
63 | .col-offset-20 {
64 | margin-left: 20%;
65 | }
66 | .col-offset-25 {
67 | margin-left: 25%;
68 | }
69 | .col-offset-33, .col-offset-34 {
70 | margin-left: 33.3333%;
71 | }
72 | .col-offset-50 {
73 | margin-left: 50%;
74 | }
75 | .col-offset-66, .col-offset-67 {
76 | margin-left: 66.6666%;
77 | }
78 | .col-offset-75 {
79 | margin-left: 75%;
80 | }
81 | .col-offset-80 {
82 | margin-left: 80%;
83 | }
84 | .col-offset-90 {
85 | margin-left: 90%;
86 | }
87 |
88 |
89 | /* Explicit Column Percent Sizes */
90 | /* By default each grid column will evenly distribute */
91 | /* across the grid. However, you can specify individual */
92 | /* columns to take up a certain size of the available area */
93 | .col-10 {
94 | @include flex(0, 0, 10%);
95 | max-width: 10%;
96 | }
97 | .col-20 {
98 | @include flex(0, 0, 20%);
99 | max-width: 20%;
100 | }
101 | .col-25 {
102 | @include flex(0, 0, 25%);
103 | max-width: 25%;
104 | }
105 | .col-33, .col-34 {
106 | @include flex(0, 0, 33.3333%);
107 | max-width: 33.3333%;
108 | }
109 | .col-50 {
110 | @include flex(0, 0, 50%);
111 | max-width: 50%;
112 | }
113 | .col-66, .col-67 {
114 | @include flex(0, 0, 66.6666%);
115 | max-width: 66.6666%;
116 | }
117 | .col-75 {
118 | @include flex(0, 0, 75%);
119 | max-width: 75%;
120 | }
121 | .col-80 {
122 | @include flex(0, 0, 80%);
123 | max-width: 80%;
124 | }
125 | .col-90 {
126 | @include flex(0, 0, 90%);
127 | max-width: 90%;
128 | }
129 |
130 |
131 | /* Responsive Grid Classes */
132 | /* Adding a class of responsive-X to a row */
133 | /* will trigger the flex-direction to */
134 | /* change to column and add some margin */
135 | /* to any columns in the row for clearity */
136 |
137 | @include responsive-grid-break('.responsive-sm', $grid-responsive-sm-break);
138 | @include responsive-grid-break('.responsive-md', $grid-responsive-md-break);
139 | @include responsive-grid-break('.responsive-lg', $grid-responsive-lg-break);
140 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_list.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Lists
4 | * --------------------------------------------------
5 | */
6 |
7 | .list {
8 | position: relative;
9 | padding-top: $item-border-width;
10 | padding-bottom: $item-border-width;
11 | padding-left: 0; // reset padding because ul and ol
12 | margin-bottom: 20px;
13 | }
14 | .list:last-child {
15 | margin-bottom: 0px;
16 | }
17 |
18 |
19 | /**
20 | * List Header
21 | * --------------------------------------------------
22 | */
23 |
24 | .list-header {
25 | margin-top: $list-header-margin-top;
26 | padding: $list-header-padding;
27 | background-color: $list-header-bg;
28 | color: $list-header-color;
29 | font-weight: bold;
30 | }
31 |
32 | // when its a card make sure it doesn't duplicate top and bottom borders
33 | .card.list .list-item {
34 | padding-right: 1px;
35 | padding-left: 1px;
36 | }
37 |
38 |
39 | /**
40 | * Cards and Inset Lists
41 | * --------------------------------------------------
42 | * A card and list-inset are close to the same thing, except a card as a box shadow.
43 | */
44 |
45 | .card,
46 | .list-inset {
47 | overflow: hidden;
48 | margin: ($content-padding * 2) $content-padding;
49 | border-radius: $card-border-radius;
50 | background-color: $card-body-bg;
51 | }
52 |
53 | .card {
54 | padding-top: $item-border-width;
55 | padding-bottom: $item-border-width;
56 | box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
57 | }
58 |
59 | .card .item,
60 | .list-inset .item,
61 | .padding > .list .item
62 | {
63 | &:first-child {
64 | border-top-left-radius: $card-border-radius;
65 | border-top-right-radius: $card-border-radius;
66 |
67 | .item-content {
68 | border-top-left-radius: $card-border-radius;
69 | border-top-right-radius: $card-border-radius;
70 | }
71 | }
72 | &:last-child {
73 | border-bottom-right-radius: $card-border-radius;
74 | border-bottom-left-radius: $card-border-radius;
75 |
76 | .item-content {
77 | border-bottom-right-radius: $card-border-radius;
78 | border-bottom-left-radius: $card-border-radius;
79 | }
80 | }
81 | }
82 |
83 | .card .item:last-child,
84 | .list-inset .item:last-child {
85 | margin-bottom: $item-border-width * -1;
86 | }
87 |
88 | .card .item,
89 | .list-inset .item,
90 | .padding > .list .item,
91 | .padding-horizontal > .list .item {
92 | margin-right: 0;
93 | margin-left: 0;
94 | }
95 | .padding-left > .list .item {
96 | margin-left: 0;
97 | }
98 | .padding-right > .list .item {
99 | margin-right: 0;
100 | }
101 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_loading.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Loading
4 | * --------------------------------------------------
5 | */
6 |
7 | .loading {
8 | @include transition(0.2s opacity linear);
9 |
10 | visibility: hidden;
11 | opacity: 0;
12 |
13 | &.visible {
14 | visibility: visible;
15 | }
16 | &.active {
17 | opacity: 1;
18 | }
19 |
20 | position: fixed;
21 | top: 50%;
22 | left: 50%;
23 |
24 | z-index: $z-index-loading;
25 | padding: $loading-padding;
26 |
27 | border-radius: $loading-border-radius;
28 | background-color: $loading-bg-color;
29 |
30 | color: $loading-text-color;
31 |
32 | text-align: center;
33 | text-overflow: ellipsis;
34 | font-size: $loading-font-size;
35 |
36 | h1, h2, h3, h4, h5, h6 {
37 | color: $loading-text-color;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_menu.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Menus
4 | * --------------------------------------------------
5 | * Side panel structure
6 | */
7 |
8 | .menu {
9 | position: absolute;
10 | top: 0;
11 | bottom: 0;
12 | z-index: $z-index-menu;
13 | overflow: hidden;
14 |
15 | min-height: 100%;
16 | max-height: 100%;
17 | width: $menu-width;
18 |
19 | background-color: #fff;
20 | }
21 |
22 | .menu-content {
23 | @include transform(none);
24 | box-shadow: $menu-side-shadow;
25 | }
26 |
27 | .grade-b .menu-content,
28 | .grade-c .menu-content {
29 | @include box-sizing(content-box);
30 | right: -1px;
31 | left: -1px;
32 | border-right: 1px solid #ccc;
33 | border-left: 1px solid #ccc;
34 | box-shadow: none;
35 | }
36 |
37 | .menu-left {
38 | left: 0;
39 | }
40 |
41 | .menu-right {
42 | right: 0;
43 | }
44 |
45 | .menu-animated {
46 | @include transition-transform($menu-animation-speed ease);
47 | }
48 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_modal.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Modals
4 | * --------------------------------------------------
5 | * Modals are independent windows that slide in from off-screen.
6 | */
7 |
8 | .modal-backdrop {
9 | @include transition(background-color 300ms ease-in-out);
10 | position: fixed;
11 | top: 0;
12 | left: 0;
13 | z-index: $z-index-modal;
14 | width: 100%;
15 | height: 100%;
16 | background-color: $modal-backdrop-bg-inactive;
17 |
18 | &.active {
19 | background-color: $modal-backdrop-bg-active;
20 | }
21 | }
22 |
23 | .modal {
24 | position: absolute;
25 | top: 0;
26 | z-index: $z-index-modal;
27 | overflow: hidden;
28 | min-height: 100%;
29 | width: 100%;
30 | background-color: $modal-bg-color;
31 | }
32 |
33 | @media (min-width: $modal-inset-mode-break-point) {
34 | // inset mode is when the modal doesn't fill the entire
35 | // display but instead is centered within a large display
36 | .modal {
37 | top: $modal-inset-mode-top;
38 | right: $modal-inset-mode-right;
39 | bottom: $modal-inset-mode-bottom;
40 | left: $modal-inset-mode-left;
41 | overflow: visible;
42 | min-height: $modal-inset-mode-min-height;
43 | width: (100% - $modal-inset-mode-left - $modal-inset-mode-right);
44 | }
45 |
46 | .modal.ng-leave-active {
47 | bottom: 0;
48 | }
49 | }
50 |
51 | .modal-open {
52 | pointer-events: none;
53 |
54 | .modal,
55 | .modal-backdrop {
56 | pointer-events: auto;
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_platform.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Platform
4 | * --------------------------------------------------
5 | * Platform specific tweaks when in Cordova.
6 | */
7 |
8 | .platform-ios7.platform-cordova {
9 | // iOS7 has a status bar which sits on top of the header.
10 | // Bump down everything to make room for it. However, if
11 | // if its in Cordova, and set to fullscreen, then disregard the bump.
12 | &:not(.fullscreen) {
13 | .bar-header:not(.bar-subheader) {
14 | height: $bar-height + $ios7-statusbar-height;
15 |
16 | &.item-input-inset .item-input-wrapper {
17 | margin-top: 19px !important;
18 | }
19 |
20 | > * {
21 | margin-top: $ios7-statusbar-height;
22 | }
23 | }
24 | .tabs-top > .tabs,
25 | .tabs.tabs-top {
26 | top: $bar-height + $ios7-statusbar-height;
27 | }
28 |
29 | .has-header,
30 | .bar-subheader {
31 | top: $bar-height + $ios7-statusbar-height;
32 | }
33 | .has-subheader {
34 | top: (2 * $bar-height) + $ios7-statusbar-height;
35 | }
36 | .has-tabs-top {
37 | top: $bar-height + $tabs-height + $ios7-statusbar-height;
38 | }
39 | .has-header.has-subheader.has-tabs-top {
40 | top: 2 * $bar-height + $tabs-height + $ios7-statusbar-height;
41 | }
42 | }
43 | &.status-bar-hide {
44 | // Cordova doesn't adjust the body height correctly, this makes up for it
45 | margin-bottom: 20px;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_popup.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Popups
4 | * --------------------------------------------------
5 | */
6 |
7 | .popup {
8 | position: fixed;
9 | top: 50%;
10 | left: 50%;
11 | z-index: $z-index-popup;
12 |
13 | // Start hidden
14 | visibility: hidden;
15 |
16 | width: $popup-width;
17 | max-width: 100%;
18 |
19 | border-radius: $popup-border-radius;
20 | background-color: $popup-background-color;
21 |
22 | &.popup-hidden {
23 | @include animation-name(scaleOut);
24 | @include animation-duration($popup-leave-animation-duration);
25 | @include animation-timing-function(ease-in-out);
26 | @include animation-fill-mode(both);
27 | }
28 |
29 | &.popup-showing {
30 | visibility: visible;
31 | }
32 |
33 | &.active {
34 | @include animation-name(superScaleIn);
35 | @include animation-duration($popup-enter-animation-duration);
36 | @include animation-timing-function(ease-in-out);
37 | @include animation-fill-mode(both);
38 | }
39 | }
40 |
41 | .popup-head {
42 | padding: 15px 0px;
43 | border-bottom: 1px solid #eee;
44 | text-align: center;
45 | }
46 | .popup-title {
47 | margin: 0;
48 | padding: 0;
49 | font-size: 15px;
50 | }
51 | .popup-sub-title {
52 | margin: 5px 0 0 0;
53 | padding: 0;
54 | font-weight: normal;
55 | font-size: 11px;
56 | }
57 | .popup-body {
58 | padding: 10px;
59 | }
60 |
61 | .popup-buttons {
62 | &.row {
63 | padding: 10px 10px;
64 | }
65 |
66 | .button {
67 | margin: 0px 5px;
68 | min-height: $popup-button-min-height;
69 | border-radius: $popup-button-border-radius;
70 | line-height: $popup-button-line-height;
71 |
72 | &:first-child {
73 | margin-left: 0px;
74 | }
75 | &:last-child {
76 | margin-right: 0px;
77 | }
78 | }
79 | }
80 |
81 | .popup-open {
82 | pointer-events: none;
83 |
84 | &.modal-open .modal {
85 | pointer-events: none;
86 | }
87 |
88 | .popup-backdrop, .popup {
89 | pointer-events: auto;
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_progress.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Progress
4 | * --------------------------------------------------
5 | */
6 |
7 | progress {
8 | display: block;
9 | margin: $progress-margin;
10 | width: $progress-width;
11 | }
12 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_radio.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Radio Button Inputs
4 | * --------------------------------------------------
5 | */
6 |
7 | .item-radio {
8 | padding: 0;
9 |
10 | &:hover {
11 | cursor: pointer;
12 | }
13 | }
14 |
15 | .item-radio .item-content {
16 | /* give some room to the right for the checkmark icon */
17 | padding-right: $item-padding * 4;
18 | }
19 |
20 | .item-radio .radio-icon {
21 | /* checkmark icon will be hidden by default */
22 | position: absolute;
23 | top: 0;
24 | right: 0;
25 | z-index: $z-index-item-radio;
26 | visibility: hidden;
27 | padding: $item-padding - 2;
28 | height: 100%;
29 | font-size: 24px;
30 | }
31 |
32 | .item-radio input {
33 | /* hide any radio button inputs elements (the ugly circles) */
34 | position: absolute;
35 | left: -9999px;
36 |
37 | &:checked ~ .item-content {
38 | /* style the item content when its checked */
39 | background: #f7f7f7;
40 | }
41 |
42 | &:checked ~ .radio-icon {
43 | /* show the checkmark icon when its checked */
44 | visibility: visible;
45 | }
46 | }
47 |
48 | // Hack for Android to correctly display the checked item
49 | // http://timpietrusky.com/advanced-checkbox-hack
50 | .platform-android.grade-b .item-radio,
51 | .platform-android.grade-c .item-radio {
52 | -webkit-animation: androidCheckedbugfix infinite 1s;
53 | }
54 | @-webkit-keyframes androidCheckedbugfix {
55 | from { padding: 0; }
56 | to { padding: 0; }
57 | }
58 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_range.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Range
4 | * --------------------------------------------------
5 | */
6 |
7 | input[type="range"] {
8 | display: inline-block;
9 | overflow: hidden;
10 | margin-top: 5px;
11 | margin-bottom: 5px;
12 | padding-right: 2px;
13 | padding-left: 1px;
14 | width: auto;
15 | height: $range-slider-height + 15;
16 | outline: none;
17 | background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, $range-default-track-bg), color-stop(100%, $range-default-track-bg));
18 | background: linear-gradient(to right, $range-default-track-bg 0%, $range-default-track-bg 100%);
19 | background-position: center;
20 | background-size: 99% $range-track-height;
21 | background-repeat: no-repeat;
22 | -webkit-appearance: none;
23 |
24 | &::-webkit-slider-thumb {
25 | position: relative;
26 | width: $range-slider-width;
27 | height: $range-slider-height;
28 | border-radius: $range-slider-border-radius;
29 | background-color: $toggle-handle-off-bg-color;
30 | box-shadow: 0 0 2px rgba(0,0,0,.5), 1px 3px 5px rgba(0,0,0,0.25);
31 | cursor: pointer;
32 | -webkit-appearance: none;
33 | }
34 |
35 | &::-webkit-slider-thumb:before {
36 | /* what creates the colorful line on the left side of the slider */
37 | position: absolute;
38 | top: ($range-slider-height / 2) - ($range-track-height / 2);
39 | left: -2001px;
40 | width: 2000px;
41 | height: $range-track-height;
42 | background: $dark;
43 | content: ' ';
44 | }
45 |
46 | &::-webkit-slider-thumb:after {
47 | /* create a larger (but hidden) hit area */
48 | position: absolute;
49 | top: -20px;
50 | left: -20px;
51 | padding: 30px;
52 | content: ' ';
53 | //background: red;
54 | //opacity: .5;
55 | }
56 |
57 | }
58 |
59 | .range {
60 | @include display-flex();
61 | @include align-items(center);
62 | padding: 2px 4px;
63 |
64 | &.range-light {
65 | input { @include range-style($range-light-track-bg); }
66 | }
67 | &.range-stable {
68 | input { @include range-style($range-stable-track-bg); }
69 | }
70 | &.range-positive {
71 | input { @include range-style($range-positive-track-bg); }
72 | }
73 | &.range-calm {
74 | input { @include range-style($range-calm-track-bg); }
75 | }
76 | &.range-balanced {
77 | input { @include range-style($range-balanced-track-bg); }
78 | }
79 | &.range-assertive {
80 | input { @include range-style($range-assertive-track-bg); }
81 | }
82 | &.range-energized {
83 | input { @include range-style($range-energized-track-bg); }
84 | }
85 | &.range-royal {
86 | input { @include range-style($range-royal-track-bg); }
87 | }
88 | &.range-dark {
89 | input { @include range-style($range-dark-track-bg); }
90 | }
91 | }
92 |
93 | .range .icon {
94 | @include flex(0);
95 | display: block;
96 | min-width: $range-icon-size;
97 | text-align: center;
98 | font-size: $range-icon-size;
99 | }
100 |
101 | .range input {
102 | @include flex(1);
103 | display: block;
104 | margin-right: 10px;
105 | margin-left: 10px;
106 | }
107 |
108 | .range-label {
109 | @include flex(0, 0, auto);
110 | display: block;
111 | white-space: nowrap;
112 | }
113 |
114 | .range-label:first-child {
115 | padding-left: 5px;
116 | }
117 | .range input + .range-label {
118 | padding-right: 5px;
119 | padding-left: 0;
120 | }
121 |
122 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_select.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Select
4 | * --------------------------------------------------
5 | */
6 |
7 | .item-select {
8 | position: relative;
9 |
10 | select {
11 | @include appearance(none);
12 | position: absolute;
13 | top: 0;
14 | right: 0;
15 | padding: ($item-padding - 2) ($item-padding * 3) ($item-padding) $item-padding;
16 | max-width: 65%;
17 |
18 | border: none;
19 | background: transparent;
20 | color: #333;
21 |
22 | // hack to hide default dropdown arrow in FF
23 | text-indent: .01px;
24 | text-overflow: '';
25 |
26 | white-space: nowrap;
27 | font-size: $font-size-base;
28 |
29 | cursor: pointer;
30 | direction: rtl; // right align the select text
31 | }
32 |
33 | option {
34 | direction: ltr;
35 | }
36 |
37 | &:after {
38 | position: absolute;
39 | top: 50%;
40 | right: $item-padding;
41 | margin-top: -3px;
42 | width: 0;
43 | height: 0;
44 | border-top: 5px solid;
45 | border-right: 5px solid rgba(0, 0, 0, 0);
46 | border-left: 5px solid rgba(0, 0, 0, 0);
47 | color: #999;
48 | content: "";
49 | pointer-events: none;
50 | }
51 | }
52 |
53 | select {
54 | &[multiple],
55 | &[size] {
56 | height: auto;
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_slide-box.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Slide Box
4 | * --------------------------------------------------
5 | */
6 |
7 | .slider {
8 | position: relative;
9 | visibility: hidden;
10 | // Make sure items don't scroll over ever
11 | overflow: hidden;
12 | }
13 |
14 | .slider-slides {
15 | position: relative;
16 | height: 100%;
17 | }
18 |
19 | .slider-slide {
20 | position: relative;
21 | display: block;
22 | float: left;
23 | width: 100%;
24 | height: 100%;
25 | vertical-align: top;
26 | }
27 |
28 | .slider-slide-image {
29 | > img {
30 | width: 100%;
31 | }
32 | }
33 |
34 | .slider-pager {
35 | position: absolute;
36 | bottom: 20px;
37 | z-index: $z-index-slider-pager;
38 | width: 100%;
39 | height: 15px;
40 | text-align: center;
41 |
42 | .slider-pager-page {
43 | display: inline-block;
44 | margin: 0px 3px;
45 | width: 15px;
46 | color: #000;
47 | text-decoration: none;
48 |
49 | opacity: 0.3;
50 |
51 | &.active {
52 | @include transition(opacity 0.4s ease-in);
53 | opacity: 1;
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_split-pane.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Split Pane
4 | * --------------------------------------------------
5 | */
6 |
7 | .split-pane {
8 | @include display-flex();
9 | @include align-items(stretch);
10 | width: 100%;
11 | height: 100%;
12 | }
13 |
14 | .split-pane-menu {
15 | @include flex(0, 0, $split-pane-menu-width);
16 |
17 | overflow-y: auto;
18 | width: $split-pane-menu-width;
19 | height: 100%;
20 | border-right: 1px solid $split-pane-menu-border-color;
21 |
22 | @media all and (max-width: 568px) {
23 | border-right: none;
24 | }
25 | }
26 |
27 | .split-pane-content {
28 | @include flex(1, 0, auto);
29 | }
30 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_tabs.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Tabs
4 | * --------------------------------------------------
5 | * A navigation bar with any number of tab items supported.
6 | */
7 |
8 | .tabs {
9 | @include display-flex();
10 | @include flex-direction(horizontal);
11 | @include justify-content(center);
12 | @include translate3d(0,0,0);
13 |
14 | @include tab-style($tabs-default-bg, $tabs-default-border, $tabs-default-text);
15 | @include tab-badge-style($tabs-default-text, $tabs-default-bg);
16 |
17 | position: absolute;
18 | bottom: 0;
19 |
20 | z-index: $z-index-tabs;
21 |
22 | width: 100%;
23 | height: $tabs-height;
24 |
25 | border-style: solid;
26 | border-top-width: 1px;
27 |
28 | background-size: 0;
29 | line-height: $tabs-height;
30 |
31 | @media (min--moz-device-pixel-ratio: 1.5),
32 | (-webkit-min-device-pixel-ratio: 1.5),
33 | (min-device-pixel-ratio: 1.5),
34 | (min-resolution: 144dpi),
35 | (min-resolution: 1.5dppx) {
36 | padding-top: 2px;
37 | border-top: none !important;
38 | border-bottom: none !important;
39 | background-position: top;
40 | background-size: 100% 1px;
41 | background-repeat: no-repeat;
42 | }
43 |
44 | }
45 | /* Allow parent element of tabs to define color, or just the tab itself */
46 | .tabs-light > .tabs,
47 | .tabs.tabs-light {
48 | @include tab-style($tabs-light-bg, $tabs-light-border, $tabs-light-text);
49 | @include tab-badge-style($tabs-light-text, $tabs-light-bg);
50 | }
51 | .tabs-stable > .tabs,
52 | .tabs.tabs-stable {
53 | @include tab-style($tabs-stable-bg, $tabs-stable-border, $tabs-stable-text);
54 | @include tab-badge-style($tabs-stable-text, $tabs-stable-bg);
55 | }
56 | .tabs-positive > .tabs,
57 | .tabs.tabs-positive {
58 | @include tab-style($tabs-positive-bg, $tabs-positive-border, $tabs-positive-text);
59 | @include tab-badge-style($tabs-positive-text, $tabs-positive-bg);
60 | }
61 | .tabs-calm > .tabs,
62 | .tabs.tabs-calm {
63 | @include tab-style($tabs-calm-bg, $tabs-calm-border, $tabs-calm-text);
64 | @include tab-badge-style($tabs-calm-text, $tabs-calm-bg);
65 | }
66 | .tabs-assertive > .tabs,
67 | .tabs.tabs-assertive {
68 | @include tab-style($tabs-assertive-bg, $tabs-assertive-border, $tabs-assertive-text);
69 | @include tab-badge-style($tabs-assertive-text, $tabs-assertive-bg);
70 | }
71 | .tabs-balanced > .tabs,
72 | .tabs.tabs-balanced {
73 | @include tab-style($tabs-balanced-bg, $tabs-balanced-border, $tabs-balanced-text);
74 | @include tab-badge-style($tabs-balanced-text, $tabs-balanced-bg);
75 | }
76 | .tabs-energized > .tabs,
77 | .tabs.tabs-energized {
78 | @include tab-style($tabs-energized-bg, $tabs-energized-border, $tabs-energized-text);
79 | @include tab-badge-style($tabs-energized-text, $tabs-energized-bg);
80 | }
81 | .tabs-royal > .tabs,
82 | .tabs.tabs-royal {
83 | @include tab-style($tabs-royal-bg, $tabs-royal-border, $tabs-royal-text);
84 | @include tab-badge-style($tabs-royal-text, $tabs-royal-bg);
85 | }
86 | .tabs-dark > .tabs,
87 | .tabs.tabs-dark {
88 | @include tab-style($tabs-dark-bg, $tabs-dark-border, $tabs-dark-text);
89 | @include tab-badge-style($tabs-dark-text, $tabs-dark-bg);
90 | }
91 |
92 | /* Allow parent element to have tabs-top */
93 | /* If you change this, change platform.scss as well */
94 | .tabs-top > .tabs,
95 | .tabs.tabs-top {
96 | top: $bar-height;
97 | padding-top: 0;
98 | padding-bottom: 2px;
99 | background-position: bottom;
100 | }
101 |
102 | .tab-item {
103 | @include flex(1);
104 | display: block;
105 | overflow: hidden;
106 |
107 | max-width: $tab-item-max-width;
108 | height: 100%;
109 |
110 | color: inherit;
111 | text-align: center;
112 | text-decoration: none;
113 | text-overflow: ellipsis;
114 | white-space: nowrap;
115 |
116 | font-weight: 400;
117 | font-size: $tabs-text-font-size;
118 | font-family: $font-family-light-sans-serif;
119 |
120 | opacity: 0.7;
121 |
122 | &:hover {
123 | cursor: pointer;
124 | }
125 | }
126 |
127 | .tabs-item-hide > .tabs,
128 | .tabs.tabs-item-hide {
129 | display: none;
130 | }
131 |
132 | .tabs-icon-top > .tabs .tab-item,
133 | .tabs-icon-bottom > .tabs .tab-item {
134 | font-size: $tabs-text-font-size-side-icon;
135 | line-height: $tabs-text-font-size;
136 | }
137 |
138 | .tab-item .icon {
139 | display: block;
140 | margin: 0 auto;
141 | height: $tabs-icon-size;
142 | font-size: $tabs-icon-size;
143 | }
144 |
145 | .tabs-icon-left > .tabs .tab-item,
146 | .tabs-icon-right > .tabs .tab-item {
147 | font-size: $tabs-text-font-size-side-icon;
148 |
149 | .icon {
150 | display: inline-block;
151 | vertical-align: top;
152 |
153 | &:before {
154 | font-size: $tabs-icon-size - 8;
155 | line-height: $tabs-height;
156 | }
157 | }
158 | }
159 |
160 | .tabs-icon-left .tab-item .icon {
161 | padding-right: 3px;
162 | }
163 |
164 | .tabs-icon-right .tab-item .icon {
165 | padding-left: 3px;
166 | }
167 |
168 | .tabs-icon-only .icon {
169 | line-height: inherit;
170 | }
171 |
172 | .tab-item.has-badge {
173 | position: relative;
174 | }
175 |
176 | .tab-item .badge {
177 | position: absolute;
178 | top: 4%;
179 | right: 33%; // fallback
180 | right: calc(50% - 26px);
181 | padding: $tabs-badge-padding;
182 | height: auto;
183 | font-size: $tabs-badge-font-size;
184 | line-height: $tabs-badge-font-size + 4;
185 | }
186 |
187 | /* Navigational tab */
188 |
189 | /* Active state for tab */
190 | .tab-item.tab-item-active {
191 | opacity: 1;
192 |
193 | &.tab-item-light {
194 | color: $light;
195 | }
196 | &.tab-item-stable {
197 | color: $stable;
198 | }
199 | &.tab-item-positive {
200 | color: $positive;
201 | }
202 | &.tab-item-calm {
203 | color: $calm;
204 | }
205 | &.tab-item-assertive {
206 | color: $assertive;
207 | }
208 | &.tab-item-balanced {
209 | color: $balanced;
210 | }
211 | &.tab-item-energized {
212 | color: $energized;
213 | }
214 | &.tab-item-royal {
215 | color: $royal;
216 | }
217 | &.tab-item-dark {
218 | color: $dark;
219 | }
220 | }
221 |
222 | .item.tabs {
223 | @include display-flex();
224 | padding: 0;
225 |
226 | .icon:before {
227 | position: relative;
228 | }
229 | }
230 |
231 | .tab-item.disabled,
232 | .tab-item[disabled] {
233 | opacity: .4;
234 | cursor: default;
235 | pointer-events: none;
236 | }
237 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_toggle.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Toggle
4 | * --------------------------------------------------
5 | */
6 |
7 | .item-toggle {
8 | pointer-events: none;
9 | }
10 |
11 | .toggle {
12 | // set the color defaults
13 | @include toggle-style($toggle-on-default-border, $toggle-on-default-bg);
14 |
15 | position: relative;
16 | display: inline-block;
17 | pointer-events: auto;
18 | margin: -$toggle-hit-area-expansion;
19 | padding: $toggle-hit-area-expansion;
20 |
21 | &.dragging {
22 | .handle {
23 | background-color: $toggle-handle-dragging-bg-color !important;
24 | }
25 | }
26 |
27 | &.toggle-light {
28 | @include toggle-style($toggle-on-light-border, $toggle-on-light-bg);
29 | }
30 | &.toggle-stable {
31 | @include toggle-style($toggle-on-stable-border, $toggle-on-stable-bg);
32 | }
33 | &.toggle-positive {
34 | @include toggle-style($toggle-on-positive-border, $toggle-on-positive-bg);
35 | }
36 | &.toggle-calm {
37 | @include toggle-style($toggle-on-calm-border, $toggle-on-calm-bg);
38 | }
39 | &.toggle-assertive {
40 | @include toggle-style($toggle-on-assertive-border, $toggle-on-assertive-bg);
41 | }
42 | &.toggle-balanced {
43 | @include toggle-style($toggle-on-balanced-border, $toggle-on-balanced-bg);
44 | }
45 | &.toggle-energized {
46 | @include toggle-style($toggle-on-energized-border, $toggle-on-energized-bg);
47 | }
48 | &.toggle-royal {
49 | @include toggle-style($toggle-on-royal-border, $toggle-on-royal-bg);
50 | }
51 | &.toggle-dark {
52 | @include toggle-style($toggle-on-dark-border, $toggle-on-dark-bg);
53 | }
54 | }
55 |
56 | .toggle input {
57 | // hide the actual input checkbox
58 | display: none;
59 | }
60 |
61 | /* the track appearance when the toggle is "off" */
62 | .toggle .track {
63 | @include transition-timing-function(ease-in-out);
64 | @include transition-duration($toggle-transition-duration);
65 | @include transition-property((background-color, border));
66 |
67 | display: inline-block;
68 | box-sizing: border-box;
69 | width: $toggle-width;
70 | height: $toggle-height;
71 | border: solid $toggle-border-width $toggle-off-border-color;
72 | border-radius: $toggle-border-radius;
73 | background-color: $toggle-off-bg-color;
74 | content: ' ';
75 | cursor: pointer;
76 | pointer-events: none;
77 | }
78 |
79 | /* the handle (circle) thats inside the toggle's track area */
80 | /* also the handle's appearance when it is "off" */
81 | .toggle .handle {
82 | @include transition($toggle-transition-duration ease-in-out);
83 | position: absolute;
84 | display: block;
85 | width: $toggle-handle-width;
86 | height: $toggle-handle-height;
87 | border-radius: $toggle-handle-radius;
88 | background-color: $toggle-handle-off-bg-color;
89 | top: $toggle-border-width + $toggle-hit-area-expansion;
90 | left: $toggle-border-width + $toggle-hit-area-expansion;
91 |
92 | &:before {
93 | // used to create a larger (but hidden) hit area to slide the handle
94 | position: absolute;
95 | top: -4px;
96 | left: ( ($toggle-handle-width / 2) * -1) - 8;
97 | padding: ($toggle-handle-height / 2) + 5 ($toggle-handle-width + 7);
98 | content: " ";
99 | }
100 | }
101 |
102 | .toggle input:checked + .track .handle {
103 | // the handle when the toggle is "on"
104 | @include translate3d($toggle-width - $toggle-handle-width - ($toggle-border-width * 2), 0, 0);
105 | background-color: $toggle-handle-on-bg-color;
106 | }
107 |
108 | .item-toggle {
109 | // make sure list item content have enough padding on right to fit the toggle
110 | padding-right: ($item-padding * 3) + $toggle-width;
111 |
112 | &.active {
113 | box-shadow: none;
114 | }
115 | }
116 |
117 | .item-toggle .toggle {
118 | // position the toggle to the right within a list item
119 | position: absolute;
120 | top: $item-padding / 2;
121 | right: $item-padding;
122 | z-index: $z-index-item-toggle;
123 | }
124 |
125 | .toggle input:disabled + .track {
126 | opacity: .6;
127 | }
128 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_type.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Typography
4 | * --------------------------------------------------
5 | */
6 |
7 |
8 | // Body text
9 | // -------------------------
10 |
11 | p {
12 | margin: 0 0 ($line-height-computed / 2);
13 | }
14 |
15 |
16 | // Emphasis & misc
17 | // -------------------------
18 |
19 | small { font-size: 85%; }
20 | cite { font-style: normal; }
21 |
22 |
23 | // Alignment
24 | // -------------------------
25 |
26 | .text-left { text-align: left; }
27 | .text-right { text-align: right; }
28 | .text-center { text-align: center; }
29 |
30 |
31 | // Headings
32 | // -------------------------
33 |
34 | h1, h2, h3, h4, h5, h6,
35 | .h1, .h2, .h3, .h4, .h5, .h6 {
36 | color: $base-color;
37 | font-weight: $headings-font-weight;
38 | font-family: $headings-font-family;
39 | line-height: $headings-line-height;
40 |
41 | small {
42 | font-weight: normal;
43 | line-height: 1;
44 | }
45 | }
46 |
47 | h1, .h1,
48 | h2, .h2,
49 | h3, .h3 {
50 | margin-top: $line-height-computed;
51 | margin-bottom: ($line-height-computed / 2);
52 |
53 | &:first-child {
54 | margin-top: 0;
55 | }
56 |
57 | + h1, + .h1,
58 | + h2, + .h2,
59 | + h3, + .h3 {
60 | margin-top: ($line-height-computed / 2);
61 | }
62 | }
63 |
64 | h4, .h4,
65 | h5, .h5,
66 | h6, .h6 {
67 | margin-top: ($line-height-computed / 2);
68 | margin-bottom: ($line-height-computed / 2);
69 | }
70 |
71 | h1, .h1 { font-size: floor($font-size-base * 2.60); } // ~36px
72 | h2, .h2 { font-size: floor($font-size-base * 2.15); } // ~30px
73 | h3, .h3 { font-size: ceil($font-size-base * 1.70); } // ~24px
74 | h4, .h4 { font-size: ceil($font-size-base * 1.25); } // ~18px
75 | h5, .h5 { font-size: $font-size-base; }
76 | h6, .h6 { font-size: ceil($font-size-base * 0.85); } // ~12px
77 |
78 | h1 small, .h1 small { font-size: ceil($font-size-base * 1.70); } // ~24px
79 | h2 small, .h2 small { font-size: ceil($font-size-base * 1.25); } // ~18px
80 | h3 small, .h3 small,
81 | h4 small, .h4 small { font-size: $font-size-base; }
82 |
83 |
84 | // Description Lists
85 | // -------------------------
86 |
87 | dl {
88 | margin-bottom: $line-height-computed;
89 | }
90 | dt,
91 | dd {
92 | line-height: $line-height-base;
93 | }
94 | dt {
95 | font-weight: bold;
96 | }
97 |
98 |
99 | // Blockquotes
100 | // -------------------------
101 |
102 | blockquote {
103 | margin: 0 0 $line-height-computed;
104 | padding: ($line-height-computed / 2) $line-height-computed;
105 | border-left: 5px solid gray;
106 |
107 | p {
108 | font-weight: 300;
109 | font-size: ($font-size-base * 1.25);
110 | line-height: 1.25;
111 | }
112 |
113 | p:last-child {
114 | margin-bottom: 0;
115 | }
116 |
117 | small {
118 | display: block;
119 | line-height: $line-height-base;
120 | &:before {
121 | content: '\2014 \00A0';// EM DASH, NBSP;
122 | }
123 | }
124 | }
125 |
126 |
127 | // Quotes
128 | // -------------------------
129 |
130 | q:before,
131 | q:after,
132 | blockquote:before,
133 | blockquote:after {
134 | content: "";
135 | }
136 |
137 |
138 | // Addresses
139 | // -------------------------
140 |
141 | address {
142 | display: block;
143 | margin-bottom: $line-height-computed;
144 | font-style: normal;
145 | line-height: $line-height-base;
146 | }
147 |
148 |
149 | // Links
150 | // -------------------------
151 |
152 | a.subdued {
153 | padding-right: 10px;
154 | color: #888;
155 | text-decoration: none;
156 |
157 | &:hover {
158 | text-decoration: none;
159 | }
160 | &:last-child {
161 | padding-right: 0;
162 | }
163 | }
164 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_util.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Utility Classes
4 | * --------------------------------------------------
5 | */
6 |
7 | .hide {
8 | display: none;
9 | }
10 | .opacity-hide {
11 | opacity: 0;
12 | }
13 | .grade-b .opacity-hide,
14 | .grade-c .opacity-hide {
15 | opacity: 1;
16 | display: none;
17 | }
18 | .show {
19 | display: block;
20 | }
21 | .opacity-show {
22 | opacity: 1;
23 | }
24 | .invisible {
25 | visibility: hidden;
26 | }
27 |
28 | .keyboard-open,
29 | .footer-hide {
30 | .bar-footer,
31 | .tabs {
32 | display: none;
33 | }
34 | .has-footer,
35 | .has-tabs {
36 | bottom: 0;
37 | }
38 | }
39 |
40 | .inline {
41 | display: inline-block;
42 | }
43 |
44 | .disable-pointer-events {
45 | pointer-events: none;
46 | }
47 |
48 | .enable-pointer-events {
49 | pointer-events: auto;
50 | }
51 |
52 | .disable-user-behavior {
53 | // used to prevent the browser from doing its native behavior. this doesnt
54 | // prevent the scrolling, but cancels the contextmenu, tap highlighting, etc
55 |
56 | @include user-select(none);
57 | @include touch-callout(none);
58 | @include tap-highlight-transparent();
59 |
60 | -webkit-user-drag: none;
61 |
62 | -ms-touch-action: none;
63 | -ms-content-zooming: none;
64 | }
65 |
66 | .no-resize {
67 | resize: none;
68 | }
69 |
70 | .block {
71 | display: block;
72 | clear: both;
73 | &:after {
74 | display: block;
75 | visibility: hidden;
76 | clear: both;
77 | height: 0;
78 | content: ".";
79 | }
80 | }
81 |
82 | .full-image {
83 | width: 100%;
84 | }
85 |
86 | .clearfix {
87 | *zoom: 1;
88 | &:before,
89 | &:after {
90 | display: table;
91 | content: "";
92 | // Fixes Opera/contenteditable bug:
93 | // http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
94 | line-height: 0;
95 | }
96 | &:after {
97 | clear: both;
98 | }
99 | }
100 |
101 | /**
102 | * Content Padding
103 | * --------------------------------------------------
104 | */
105 |
106 | .padding {
107 | padding: $content-padding;
108 | }
109 |
110 | .padding-top,
111 | .padding-vertical {
112 | padding-top: $content-padding;
113 | }
114 |
115 | .padding-right,
116 | .padding-horizontal {
117 | padding-right: $content-padding;
118 | }
119 |
120 | .padding-bottom,
121 | .padding-vertical {
122 | padding-bottom: $content-padding;
123 | }
124 |
125 | .padding-left,
126 | .padding-horizontal {
127 | padding-left: $content-padding;
128 | }
129 |
130 |
131 | /**
132 | * Rounded
133 | * --------------------------------------------------
134 | */
135 |
136 | .rounded {
137 | border-radius: $border-radius-base;
138 | }
139 |
140 |
141 | /**
142 | * Utility Colors
143 | * --------------------------------------------------
144 | * Utility colors are added to help set a naming convention. You'll
145 | * notice we purposely do not use words like "red" or "blue", but
146 | * instead have colors which represent an emotion or generic theme.
147 | */
148 |
149 | .light, a.light {
150 | color: $light;
151 | }
152 | .light-bg {
153 | background-color: $light;
154 | }
155 | .light-border {
156 | border-color: $button-light-border;
157 | }
158 |
159 | .stable, a.stable {
160 | color: $stable;
161 | }
162 | .stable-bg {
163 | background-color: $stable;
164 | }
165 | .stable-border {
166 | border-color: $button-stable-border;
167 | }
168 |
169 | .positive, a.positive {
170 | color: $positive;
171 | }
172 | .positive-bg {
173 | background-color: $positive;
174 | }
175 | .positive-border {
176 | border-color: $button-positive-border;
177 | }
178 |
179 | .calm, a.calm {
180 | color: $calm;
181 | }
182 | .calm-bg {
183 | background-color: $calm;
184 | }
185 | .calm-border {
186 | border-color: $button-calm-border;
187 | }
188 |
189 | .assertive, a.assertive {
190 | color: $assertive;
191 | }
192 | .assertive-bg {
193 | background-color: $assertive;
194 | }
195 | .assertive-border {
196 | border-color: $button-assertive-border;
197 | }
198 |
199 | .balanced, a.balanced {
200 | color: $balanced;
201 | }
202 | .balanced-bg {
203 | background-color: $balanced;
204 | }
205 | .balanced-border {
206 | border-color: $button-balanced-border;
207 | }
208 |
209 | .energized, a.energized {
210 | color: $energized;
211 | }
212 | .energized-bg {
213 | background-color: $energized;
214 | }
215 | .energized-border {
216 | border-color: $button-energized-border;
217 | }
218 |
219 | .royal, a.royal {
220 | color: $royal;
221 | }
222 | .royal-bg {
223 | background-color: $royal;
224 | }
225 | .royal-border {
226 | border-color: $button-royal-border;
227 | }
228 |
229 | .dark, a.dark {
230 | color: $dark;
231 | }
232 | .dark-bg {
233 | background-color: $dark;
234 | }
235 | .dark-border {
236 | border-color: $button-dark-border;
237 | }
238 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/ionic.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | @import
4 | // Ionicons
5 | "ionicons/ionicons.scss",
6 |
7 | // Variables
8 | "mixins",
9 | "variables",
10 |
11 | // Base
12 | "reset",
13 | "scaffolding",
14 | "type",
15 |
16 | // Components
17 | "action-sheet",
18 | "backdrop",
19 | "bar",
20 | "tabs",
21 | "menu",
22 | "modal",
23 | "popup",
24 | "loading",
25 | "items",
26 | "list",
27 | "badge",
28 | "slide-box",
29 | "split-pane",
30 |
31 | // Forms
32 | "form",
33 | "checkbox",
34 | "toggle",
35 | "radio",
36 | "range",
37 | "select",
38 | "progress",
39 |
40 | // Buttons
41 | "button",
42 | "button-bar",
43 |
44 | // Util
45 | "animations",
46 | "grid",
47 | "util",
48 | "platform";
49 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/ionicons/_ionicons-animation.scss:
--------------------------------------------------------------------------------
1 | // Animation Icons
2 | // --------------------------
3 |
4 | .#{$ionicons-prefix}spin {
5 | -webkit-animation: spin 1s infinite linear;
6 | -moz-animation: spin 1s infinite linear;
7 | -o-animation: spin 1s infinite linear;
8 | animation: spin 1s infinite linear;
9 | }
10 |
11 | @-moz-keyframes spin {
12 | 0% { -moz-transform: rotate(0deg); }
13 | 100% { -moz-transform: rotate(359deg); }
14 | }
15 | @-webkit-keyframes spin {
16 | 0% { -webkit-transform: rotate(0deg); }
17 | 100% { -webkit-transform: rotate(359deg); }
18 | }
19 | @-o-keyframes spin {
20 | 0% { -o-transform: rotate(0deg); }
21 | 100% { -o-transform: rotate(359deg); }
22 | }
23 | @-ms-keyframes spin {
24 | 0% { -ms-transform: rotate(0deg); }
25 | 100% { -ms-transform: rotate(359deg); }
26 | }
27 | @keyframes spin {
28 | 0% { transform: rotate(0deg); }
29 | 100% { transform: rotate(359deg); }
30 | }
31 |
32 |
33 | .#{$ionicons-prefix}loading-a,
34 | .#{$ionicons-prefix}loading-b,
35 | .#{$ionicons-prefix}loading-c,
36 | .#{$ionicons-prefix}loading-d,
37 | .#{$ionicons-prefix}looping,
38 | .#{$ionicons-prefix}refreshing,
39 | .#{$ionicons-prefix}ios7-reloading {
40 | @extend .ion;
41 | @extend .#{$ionicons-prefix}spin;
42 | }
43 |
44 | .#{$ionicons-prefix}loading-a {
45 | -webkit-animation-timing-function: steps(8, start);
46 | -moz-animation-timing-function: steps(8, start);
47 | animation-timing-function: steps(8, start);
48 | }
49 |
50 | .#{$ionicons-prefix}loading-a:before {
51 | @extend .#{$ionicons-prefix}load-a:before;
52 | }
53 |
54 | .#{$ionicons-prefix}loading-b:before {
55 | @extend .#{$ionicons-prefix}load-b:before;
56 | }
57 |
58 | .#{$ionicons-prefix}loading-c:before {
59 | @extend .#{$ionicons-prefix}load-c:before;
60 | }
61 |
62 | .#{$ionicons-prefix}loading-d:before {
63 | @extend .#{$ionicons-prefix}load-d:before;
64 | }
65 |
66 | .#{$ionicons-prefix}looping:before {
67 | @extend .#{$ionicons-prefix}loop:before;
68 | }
69 |
70 | .#{$ionicons-prefix}refreshing:before {
71 | @extend .#{$ionicons-prefix}refresh:before;
72 | }
73 |
74 | .#{$ionicons-prefix}ios7-reloading:before {
75 | @extend .#{$ionicons-prefix}ios7-reload:before;
76 | }
77 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/ionicons/_ionicons-font.scss:
--------------------------------------------------------------------------------
1 | // Ionicons Font Path
2 | // --------------------------
3 |
4 | @font-face {
5 | font-family: $ionicons-font-family;
6 | src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}");
7 | src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}#iefix") format("embedded-opentype"),
8 | url("#{$ionicons-font-path}/ionicons.ttf?v=#{$ionicons-version}") format("truetype"),
9 | url("#{$ionicons-font-path}/ionicons.woff?v=#{$ionicons-version}") format("woff"),
10 | url("#{$ionicons-font-path}/ionicons.svg?v=#{$ionicons-version}#Ionicons") format("svg");
11 | font-weight: normal;
12 | font-style: normal;
13 | }
14 |
15 | .ion {
16 | display: inline-block;
17 | font-family: $ionicons-font-family;
18 | speak: none;
19 | font-style: normal;
20 | font-weight: normal;
21 | font-variant: normal;
22 | text-transform: none;
23 | text-rendering: auto;
24 | line-height: 1;
25 | -webkit-font-smoothing: antialiased;
26 | -moz-osx-font-smoothing: grayscale;
27 | }
--------------------------------------------------------------------------------
/www/lib/ionic/scss/ionicons/ionicons.scss:
--------------------------------------------------------------------------------
1 | @import "ionicons-variables";
2 | /*!
3 | Ionicons, v#{$ionicons-version}
4 | Created by Ben Sperry for the Ionic Framework, http://ionicons.com/
5 | https://twitter.com/benjsperry https://twitter.com/ionicframework
6 | MIT License: https://github.com/driftyco/ionicons
7 | */
8 |
9 | @import "ionicons-font";
10 | @import "ionicons-animation";
11 | @import "ionicons-icons";
--------------------------------------------------------------------------------
/www/lib/ionic/version.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.0.0-beta.3",
3 | "codename": "americium",
4 | "date": "2014-05-02",
5 | "time": "16:02:44"
6 | }
7 |
--------------------------------------------------------------------------------
/www/templates/datemodal.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/www/templates/datepicker.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
17 |
18 |
--------------------------------------------------------------------------------
/www/templates/menu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Back
6 |
7 |
8 |
9 |
10 |
11 |
14 |
22 |
23 |
24 |
--------------------------------------------------------------------------------