You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2017/10/15 19:38:52 UTC
[1/8] airavata-django-portal git commit: AIRAVATA-2537 Fix
next/previous urls when view called from other view
Repository: airavata-django-portal
Updated Branches:
refs/heads/master 4ed82de91 -> c2df89a15
AIRAVATA-2537 Fix next/previous urls when view called from other view
Project: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/commit/f4367b0f
Tree: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/tree/f4367b0f
Diff: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/diff/f4367b0f
Branch: refs/heads/master
Commit: f4367b0ff465d98c853598d93fd28a9f9358383d
Parents: 4ed82de
Author: Marcus Christie <ma...@iu.edu>
Authored: Sat Oct 14 09:34:33 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Sat Oct 14 10:07:22 2017 -0400
----------------------------------------------------------------------
django_airavata/apps/api/views.py | 30 ++++++++++++++++++++++++++++--
django_airavata/settings.py | 1 +
2 files changed, 29 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/f4367b0f/django_airavata/apps/api/views.py
----------------------------------------------------------------------
diff --git a/django_airavata/apps/api/views.py b/django_airavata/apps/api/views.py
index 088cc0a..4dc4d0f 100644
--- a/django_airavata/apps/api/views.py
+++ b/django_airavata/apps/api/views.py
@@ -7,7 +7,7 @@ from rest_framework.views import APIView
from rest_framework.viewsets import GenericViewSet
from rest_framework.response import Response
from rest_framework.reverse import reverse
-from rest_framework.utils.urls import replace_query_param
+from rest_framework.utils.urls import replace_query_param, remove_query_param
from django.conf import settings
from django.http import JsonResponse, Http404
@@ -137,6 +137,12 @@ class APIResultPagination(pagination.LimitOffsetPagination):
self.offset = self.get_offset(request)
self.request = request
+ # When a paged view is called from another view (for example, to get the
+ # initial data to display), this pagination class needs to know the name
+ # of the view being paginated.
+ if view and hasattr(view, 'pagination_viewname'):
+ self.viewname = view.pagination_viewname
+
return list(queryset[self.offset:self.offset + self.limit])
def get_paginated_response(self, data):
@@ -148,17 +154,37 @@ class APIResultPagination(pagination.LimitOffsetPagination):
]))
def get_next_link(self):
- url = self.request.build_absolute_uri()
+ url = self.get_base_url()
url = replace_query_param(url, self.limit_query_param, self.limit)
offset = self.offset + self.limit
return replace_query_param(url, self.offset_query_param, offset)
+ def get_previous_link(self):
+ if self.offset <= 0:
+ return None
+
+ url = self.get_base_url()
+ url = replace_query_param(url, self.limit_query_param, self.limit)
+
+ if self.offset - self.limit <= 0:
+ return remove_query_param(url, self.offset_query_param)
+
+ offset = self.offset - self.limit
+ return replace_query_param(url, self.offset_query_param, offset)
+
+ def get_base_url(self):
+ if hasattr(self, 'viewname'):
+ return self.request.build_absolute_uri(reverse(self.viewname))
+ else:
+ return self.request.build_absolute_uri()
+
class ProjectViewSet(APIBackedViewSet):
serializer_class = serializers.ProjectSerializer
lookup_field = 'project_id'
pagination_class = APIResultPagination
+ pagination_viewname = 'django_airavata_api:project-list'
def get_list(self):
view = self
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/f4367b0f/django_airavata/settings.py
----------------------------------------------------------------------
diff --git a/django_airavata/settings.py b/django_airavata/settings.py
index 7562cae..18fc1f2 100644
--- a/django_airavata/settings.py
+++ b/django_airavata/settings.py
@@ -137,6 +137,7 @@ REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
+ 'PAGE_SIZE': 10,
}
AUTHENTICATION_BACKENDS = [
[6/8] airavata-django-portal git commit: AIRAVATA-2537 Move models
and services to common code
Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/apps/workspace/package-lock.json
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/package-lock.json b/django_airavata/apps/workspace/package-lock.json
index dbcf1e2..7f43c96 100644
--- a/django_airavata/apps/workspace/package-lock.json
+++ b/django_airavata/apps/workspace/package-lock.json
@@ -1706,6 +1706,6165 @@
"randombytes": "2.0.5"
}
},
+ "django-airavata-common": {
+ "version": "file:../..",
+ "requires": {
+ "vue": "2.4.4"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "accepts": {
+ "version": "1.3.4",
+ "bundled": true,
+ "requires": {
+ "mime-types": "2.1.17",
+ "negotiator": "0.6.1"
+ }
+ },
+ "acorn": {
+ "version": "5.1.2",
+ "bundled": true
+ },
+ "acorn-dynamic-import": {
+ "version": "2.0.2",
+ "bundled": true,
+ "requires": {
+ "acorn": "4.0.13"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "4.0.13",
+ "bundled": true
+ }
+ }
+ },
+ "ajv": {
+ "version": "5.2.3",
+ "bundled": true,
+ "requires": {
+ "co": "4.6.0",
+ "fast-deep-equal": "1.0.0",
+ "json-schema-traverse": "0.3.1",
+ "json-stable-stringify": "1.0.1"
+ }
+ },
+ "ajv-keywords": {
+ "version": "2.1.0",
+ "bundled": true
+ },
+ "align-text": {
+ "version": "0.1.4",
+ "bundled": true,
+ "requires": {
+ "kind-of": "3.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "alphanum-sort": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "ansi-html": {
+ "version": "0.0.7",
+ "bundled": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "bundled": true
+ },
+ "anymatch": {
+ "version": "1.3.2",
+ "bundled": true,
+ "requires": {
+ "micromatch": "2.3.11",
+ "normalize-path": "2.1.1"
+ }
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "bundled": true,
+ "requires": {
+ "delegates": "1.0.0",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "argparse": {
+ "version": "1.0.9",
+ "bundled": true,
+ "requires": {
+ "sprintf-js": "1.0.3"
+ }
+ },
+ "arr-diff": {
+ "version": "2.0.0",
+ "bundled": true,
+ "requires": {
+ "arr-flatten": "1.1.0"
+ }
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "array-find-index": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "array-flatten": {
+ "version": "2.1.1",
+ "bundled": true
+ },
+ "array-includes": {
+ "version": "3.0.3",
+ "bundled": true,
+ "requires": {
+ "define-properties": "1.1.2",
+ "es-abstract": "1.8.2"
+ }
+ },
+ "array-union": {
+ "version": "1.0.2",
+ "bundled": true,
+ "requires": {
+ "array-uniq": "1.0.3"
+ }
+ },
+ "array-uniq": {
+ "version": "1.0.3",
+ "bundled": true
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "bundled": true
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "bundled": true
+ },
+ "asn1.js": {
+ "version": "4.9.1",
+ "bundled": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
+ },
+ "assert": {
+ "version": "1.4.1",
+ "bundled": true,
+ "requires": {
+ "util": "0.10.3"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "async": {
+ "version": "2.5.0",
+ "bundled": true,
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ },
+ "async-each": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "async-foreach": {
+ "version": "0.1.3",
+ "bundled": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "bundled": true
+ },
+ "autoprefixer": {
+ "version": "6.7.7",
+ "bundled": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-db": "1.0.30000738",
+ "normalize-range": "0.1.2",
+ "num2fraction": "1.2.2",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "1.7.7",
+ "bundled": true,
+ "requires": {
+ "caniuse-db": "1.0.30000738",
+ "electron-to-chromium": "1.3.22"
+ }
+ }
+ }
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "bundled": true
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "bundled": true
+ },
+ "babel-code-frame": {
+ "version": "6.26.0",
+ "bundled": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.2"
+ }
+ },
+ "babel-core": {
+ "version": "6.26.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-generator": "6.26.0",
+ "babel-helpers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-register": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "convert-source-map": "1.5.0",
+ "debug": "2.6.9",
+ "json5": "0.5.1",
+ "lodash": "4.17.4",
+ "minimatch": "3.0.4",
+ "path-is-absolute": "1.0.1",
+ "private": "0.1.7",
+ "slash": "1.0.0",
+ "source-map": "0.5.7"
+ }
+ },
+ "babel-generator": {
+ "version": "6.26.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "detect-indent": "4.0.0",
+ "jsesc": "1.3.0",
+ "lodash": "4.17.4",
+ "source-map": "0.5.7",
+ "trim-right": "1.0.1"
+ }
+ },
+ "babel-helper-builder-binary-assignment-operator-visitor": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-explode-assignable-expression": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-call-delegate": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-hoist-variables": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-define-map": {
+ "version": "6.26.0",
+ "bundled": true,
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-helper-explode-assignable-expression": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-function-name": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-get-function-arity": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-hoist-variables": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-optimise-call-expression": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-regex": {
+ "version": "6.26.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-helper-remap-async-to-generator": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-replace-supers": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-optimise-call-expression": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helpers": {
+ "version": "6.24.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-loader": {
+ "version": "7.1.2",
+ "bundled": true,
+ "requires": {
+ "find-cache-dir": "1.0.0",
+ "loader-utils": "1.1.0",
+ "mkdirp": "0.5.1"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "1.1.0",
+ "bundled": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
+ }
+ }
+ },
+ "babel-messages": {
+ "version": "6.23.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-check-es2015-constants": {
+ "version": "6.22.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-syntax-async-functions": {
+ "version": "6.13.0",
+ "bundled": true
+ },
+ "babel-plugin-syntax-exponentiation-operator": {
+ "version": "6.13.0",
+ "bundled": true
+ },
+ "babel-plugin-syntax-trailing-function-commas": {
+ "version": "6.22.0",
+ "bundled": true
+ },
+ "babel-plugin-transform-async-to-generator": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-remap-async-to-generator": "6.24.1",
+ "babel-plugin-syntax-async-functions": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-arrow-functions": {
+ "version": "6.22.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoped-functions": {
+ "version": "6.22.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoping": {
+ "version": "6.26.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-plugin-transform-es2015-classes": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-define-map": "6.26.0",
+ "babel-helper-function-name": "6.24.1",
+ "babel-helper-optimise-call-expression": "6.24.1",
+ "babel-helper-replace-supers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-computed-properties": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-destructuring": {
+ "version": "6.23.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-duplicate-keys": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-for-of": {
+ "version": "6.23.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-function-name": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-literals": {
+ "version": "6.22.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-amd": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-commonjs": {
+ "version": "6.26.0",
+ "bundled": true,
+ "requires": {
+ "babel-plugin-transform-strict-mode": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-systemjs": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-hoist-variables": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-umd": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-object-super": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-replace-supers": "6.24.1",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-parameters": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-call-delegate": "6.24.1",
+ "babel-helper-get-function-arity": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-shorthand-properties": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-spread": {
+ "version": "6.22.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-sticky-regex": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-regex": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-template-literals": {
+ "version": "6.22.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-typeof-symbol": {
+ "version": "6.23.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-unicode-regex": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-regex": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "regexpu-core": "2.0.0"
+ }
+ },
+ "babel-plugin-transform-exponentiation-operator": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1",
+ "babel-plugin-syntax-exponentiation-operator": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-regenerator": {
+ "version": "6.26.0",
+ "bundled": true,
+ "requires": {
+ "regenerator-transform": "0.10.1"
+ }
+ },
+ "babel-plugin-transform-strict-mode": {
+ "version": "6.24.1",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-preset-env": {
+ "version": "1.6.0",
+ "bundled": true,
+ "requires": {
+ "babel-plugin-check-es2015-constants": "6.22.0",
+ "babel-plugin-syntax-trailing-function-commas": "6.22.0",
+ "babel-plugin-transform-async-to-generator": "6.24.1",
+ "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoping": "6.26.0",
+ "babel-plugin-transform-es2015-classes": "6.24.1",
+ "babel-plugin-transform-es2015-computed-properties": "6.24.1",
+ "babel-plugin-transform-es2015-destructuring": "6.23.0",
+ "babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
+ "babel-plugin-transform-es2015-for-of": "6.23.0",
+ "babel-plugin-transform-es2015-function-name": "6.24.1",
+ "babel-plugin-transform-es2015-literals": "6.22.0",
+ "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
+ "babel-plugin-transform-es2015-modules-umd": "6.24.1",
+ "babel-plugin-transform-es2015-object-super": "6.24.1",
+ "babel-plugin-transform-es2015-parameters": "6.24.1",
+ "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
+ "babel-plugin-transform-es2015-spread": "6.22.0",
+ "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
+ "babel-plugin-transform-es2015-template-literals": "6.22.0",
+ "babel-plugin-transform-es2015-typeof-symbol": "6.23.0",
+ "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
+ "babel-plugin-transform-exponentiation-operator": "6.24.1",
+ "babel-plugin-transform-regenerator": "6.26.0",
+ "browserslist": "2.4.0",
+ "invariant": "2.2.2",
+ "semver": "5.4.1"
+ }
+ },
+ "babel-register": {
+ "version": "6.26.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "babel-core": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "core-js": "2.5.1",
+ "home-or-tmp": "2.0.0",
+ "lodash": "4.17.4",
+ "mkdirp": "0.5.1",
+ "source-map-support": "0.4.18"
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "bundled": true,
+ "requires": {
+ "core-js": "2.5.1",
+ "regenerator-runtime": "0.11.0"
+ }
+ },
+ "babel-template": {
+ "version": "6.26.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-traverse": {
+ "version": "6.26.0",
+ "bundled": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "debug": "2.6.9",
+ "globals": "9.18.0",
+ "invariant": "2.2.2",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-types": {
+ "version": "6.26.0",
+ "bundled": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "esutils": "2.0.2",
+ "lodash": "4.17.4",
+ "to-fast-properties": "1.0.3"
+ }
+ },
+ "babylon": {
+ "version": "6.18.0",
+ "bundled": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "base64-js": {
+ "version": "1.2.1",
+ "bundled": true
+ },
+ "batch": {
+ "version": "0.6.1",
+ "bundled": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "big.js": {
+ "version": "3.2.0",
+ "bundled": true
+ },
+ "binary-extensions": {
+ "version": "1.10.0",
+ "bundled": true
+ },
+ "block-stream": {
+ "version": "0.0.9",
+ "bundled": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "bluebird": {
+ "version": "3.5.0",
+ "bundled": true
+ },
+ "bn.js": {
+ "version": "4.11.8",
+ "bundled": true
+ },
+ "bonjour": {
+ "version": "3.5.0",
+ "bundled": true,
+ "requires": {
+ "array-flatten": "2.1.1",
+ "deep-equal": "1.0.1",
+ "dns-equal": "1.0.0",
+ "dns-txt": "2.0.2",
+ "multicast-dns": "6.1.1",
+ "multicast-dns-service-types": "1.1.0"
+ }
+ },
+ "boom": {
+ "version": "4.3.1",
+ "bundled": true,
+ "requires": {
+ "hoek": "4.2.0"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.8",
+ "bundled": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "1.8.5",
+ "bundled": true,
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
+ },
+ "brorand": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "browserify-aes": {
+ "version": "1.0.8",
+ "bundled": true,
+ "requires": {
+ "buffer-xor": "1.0.3",
+ "cipher-base": "1.0.4",
+ "create-hash": "1.1.3",
+ "evp_bytestokey": "1.0.3",
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "browserify-aes": "1.0.8",
+ "browserify-des": "1.0.0",
+ "evp_bytestokey": "1.0.3"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "des.js": "1.0.0",
+ "inherits": "2.0.3"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.0.1",
+ "bundled": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "randombytes": "2.0.5"
+ }
+ },
+ "browserify-sign": {
+ "version": "4.0.4",
+ "bundled": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "browserify-rsa": "4.0.1",
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "elliptic": "6.4.0",
+ "inherits": "2.0.3",
+ "parse-asn1": "5.1.0"
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.1.4",
+ "bundled": true,
+ "requires": {
+ "pako": "0.2.9"
+ }
+ },
+ "browserslist": {
+ "version": "2.4.0",
+ "bundled": true,
+ "requires": {
+ "caniuse-lite": "1.0.30000738",
+ "electron-to-chromium": "1.3.22"
+ }
+ },
+ "buffer": {
+ "version": "4.9.1",
+ "bundled": true,
+ "requires": {
+ "base64-js": "1.2.1",
+ "ieee754": "1.1.8",
+ "isarray": "1.0.0"
+ }
+ },
+ "buffer-indexof": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "buffer-xor": {
+ "version": "1.0.3",
+ "bundled": true
+ },
+ "builtin-modules": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "bundled": true
+ },
+ "bytes": {
+ "version": "2.5.0",
+ "bundled": true
+ },
+ "camelcase": {
+ "version": "2.1.1",
+ "bundled": true
+ },
+ "camelcase-keys": {
+ "version": "2.1.0",
+ "bundled": true,
+ "requires": {
+ "camelcase": "2.1.1",
+ "map-obj": "1.0.1"
+ }
+ },
+ "caniuse-api": {
+ "version": "1.6.1",
+ "bundled": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-db": "1.0.30000738",
+ "lodash.memoize": "4.1.2",
+ "lodash.uniq": "4.5.0"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "1.7.7",
+ "bundled": true,
+ "requires": {
+ "caniuse-db": "1.0.30000738",
+ "electron-to-chromium": "1.3.22"
+ }
+ }
+ }
+ },
+ "caniuse-db": {
+ "version": "1.0.30000738",
+ "bundled": true
+ },
+ "caniuse-lite": {
+ "version": "1.0.30000738",
+ "bundled": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "bundled": true
+ },
+ "center-align": {
+ "version": "0.1.3",
+ "bundled": true,
+ "requires": {
+ "align-text": "0.1.4",
+ "lazy-cache": "1.0.4"
+ },
+ "dependencies": {
+ "lazy-cache": {
+ "version": "1.0.4",
+ "bundled": true
+ }
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "bundled": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "chokidar": {
+ "version": "1.7.0",
+ "bundled": true,
+ "requires": {
+ "anymatch": "1.3.2",
+ "async-each": "1.0.1",
+ "fsevents": "1.1.2",
+ "glob-parent": "2.0.0",
+ "inherits": "2.0.3",
+ "is-binary-path": "1.0.1",
+ "is-glob": "2.0.1",
+ "path-is-absolute": "1.0.1",
+ "readdirp": "2.1.0"
+ }
+ },
+ "cipher-base": {
+ "version": "1.0.4",
+ "bundled": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "clap": {
+ "version": "1.2.3",
+ "bundled": true,
+ "requires": {
+ "chalk": "1.1.3"
+ }
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "bundled": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ }
+ },
+ "clone": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "clone-deep": {
+ "version": "0.3.0",
+ "bundled": true,
+ "requires": {
+ "for-own": "1.0.0",
+ "is-plain-object": "2.0.4",
+ "kind-of": "3.2.2",
+ "shallow-clone": "0.1.2"
+ },
+ "dependencies": {
+ "for-own": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "for-in": "1.0.2"
+ }
+ }
+ }
+ },
+ "co": {
+ "version": "4.6.0",
+ "bundled": true
+ },
+ "coa": {
+ "version": "1.0.4",
+ "bundled": true,
+ "requires": {
+ "q": "1.5.0"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "color": {
+ "version": "0.11.4",
+ "bundled": true,
+ "requires": {
+ "clone": "1.0.2",
+ "color-convert": "1.9.0",
+ "color-string": "0.3.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.0",
+ "bundled": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "bundled": true
+ },
+ "color-string": {
+ "version": "0.3.0",
+ "bundled": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "colormin": {
+ "version": "1.1.2",
+ "bundled": true,
+ "requires": {
+ "color": "0.11.4",
+ "css-color-names": "0.0.4",
+ "has": "1.0.1"
+ }
+ },
+ "colors": {
+ "version": "1.1.2",
+ "bundled": true
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "bundled": true,
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
+ },
+ "commander": {
+ "version": "2.11.0",
+ "bundled": true
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "compressible": {
+ "version": "2.0.11",
+ "bundled": true,
+ "requires": {
+ "mime-db": "1.30.0"
+ }
+ },
+ "compression": {
+ "version": "1.7.0",
+ "bundled": true,
+ "requires": {
+ "accepts": "1.3.4",
+ "bytes": "2.5.0",
+ "compressible": "2.0.11",
+ "debug": "2.6.8",
+ "on-headers": "1.0.1",
+ "safe-buffer": "5.1.1",
+ "vary": "1.1.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.8",
+ "bundled": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true
+ },
+ "config-chain": {
+ "version": "1.1.11",
+ "bundled": true,
+ "requires": {
+ "ini": "1.3.4",
+ "proto-list": "1.2.4"
+ }
+ },
+ "connect-history-api-fallback": {
+ "version": "1.3.0",
+ "bundled": true
+ },
+ "console-browserify": {
+ "version": "1.1.0",
+ "bundled": true,
+ "requires": {
+ "date-now": "0.1.4"
+ }
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "consolidate": {
+ "version": "0.14.5",
+ "bundled": true,
+ "requires": {
+ "bluebird": "3.5.0"
+ }
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "content-disposition": {
+ "version": "0.5.2",
+ "bundled": true
+ },
+ "content-type": {
+ "version": "1.0.4",
+ "bundled": true
+ },
+ "convert-source-map": {
+ "version": "1.5.0",
+ "bundled": true,
+ "dev": true
+ },
+ "cookie": {
+ "version": "0.3.1",
+ "bundled": true
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "bundled": true
+ },
+ "core-js": {
+ "version": "2.5.1",
+ "bundled": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "cosmiconfig": {
+ "version": "2.2.2",
+ "bundled": true,
+ "requires": {
+ "is-directory": "0.3.1",
+ "js-yaml": "3.7.0",
+ "minimist": "1.2.0",
+ "object-assign": "4.1.1",
+ "os-homedir": "1.0.2",
+ "parse-json": "2.2.0",
+ "require-from-string": "1.2.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true
+ }
+ }
+ },
+ "create-ecdh": {
+ "version": "4.0.0",
+ "bundled": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "elliptic": "6.4.0"
+ }
+ },
+ "create-hash": {
+ "version": "1.1.3",
+ "bundled": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "inherits": "2.0.3",
+ "ripemd160": "2.0.1",
+ "sha.js": "2.4.9"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.6",
+ "bundled": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "create-hash": "1.1.3",
+ "inherits": "2.0.3",
+ "ripemd160": "2.0.1",
+ "safe-buffer": "5.1.1",
+ "sha.js": "2.4.9"
+ }
+ },
+ "cross-env": {
+ "version": "3.2.4",
+ "bundled": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "is-windows": "1.0.1"
+ }
+ },
+ "cross-spawn": {
+ "version": "5.1.0",
+ "bundled": true,
+ "requires": {
+ "lru-cache": "4.1.1",
+ "shebang-command": "1.2.0",
+ "which": "1.3.0"
+ }
+ },
+ "cryptiles": {
+ "version": "3.1.2",
+ "bundled": true,
+ "requires": {
+ "boom": "5.2.0"
+ },
+ "dependencies": {
+ "boom": {
+ "version": "5.2.0",
+ "bundled": true,
+ "requires": {
+ "hoek": "4.2.0"
+ }
+ }
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.11.1",
+ "bundled": true,
+ "requires": {
+ "browserify-cipher": "1.0.0",
+ "browserify-sign": "4.0.4",
+ "create-ecdh": "4.0.0",
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "diffie-hellman": "5.0.2",
+ "inherits": "2.0.3",
+ "pbkdf2": "3.0.14",
+ "public-encrypt": "4.0.0",
+ "randombytes": "2.0.5"
+ }
+ },
+ "css-color-names": {
+ "version": "0.0.4",
+ "bundled": true
+ },
+ "css-loader": {
+ "version": "0.25.0",
+ "bundled": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "css-selector-tokenizer": "0.6.0",
+ "cssnano": "3.10.0",
+ "loader-utils": "0.2.17",
+ "lodash.camelcase": "3.0.1",
+ "object-assign": "4.1.1",
+ "postcss": "5.2.17",
+ "postcss-modules-extract-imports": "1.1.0",
+ "postcss-modules-local-by-default": "1.2.0",
+ "postcss-modules-scope": "1.1.0",
+ "postcss-modules-values": "1.3.0",
+ "source-list-map": "0.1.8"
+ }
+ },
+ "css-selector-tokenizer": {
+ "version": "0.6.0",
+ "bundled": true,
+ "requires": {
+ "cssesc": "0.1.0",
+ "fastparse": "1.1.1",
+ "regexpu-core": "1.0.0"
+ },
+ "dependencies": {
+ "regexpu-core": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "regenerate": "1.3.3",
+ "regjsgen": "0.2.0",
+ "regjsparser": "0.1.5"
+ }
+ }
+ }
+ },
+ "cssesc": {
+ "version": "0.1.0",
+ "bundled": true
+ },
+ "cssnano": {
+ "version": "3.10.0",
+ "bundled": true,
+ "requires": {
+ "autoprefixer": "6.7.7",
+ "decamelize": "1.2.0",
+ "defined": "1.0.0",
+ "has": "1.0.1",
+ "object-assign": "4.1.1",
+ "postcss": "5.2.17",
+ "postcss-calc": "5.3.1",
+ "postcss-colormin": "2.2.2",
+ "postcss-convert-values": "2.6.1",
+ "postcss-discard-comments": "2.0.4",
+ "postcss-discard-duplicates": "2.1.0",
+ "postcss-discard-empty": "2.1.0",
+ "postcss-discard-overridden": "0.1.1",
+ "postcss-discard-unused": "2.2.3",
+ "postcss-filter-plugins": "2.0.2",
+ "postcss-merge-idents": "2.1.7",
+ "postcss-merge-longhand": "2.0.2",
+ "postcss-merge-rules": "2.1.2",
+ "postcss-minify-font-values": "1.0.5",
+ "postcss-minify-gradients": "1.0.5",
+ "postcss-minify-params": "1.2.2",
+ "postcss-minify-selectors": "2.1.1",
+ "postcss-normalize-charset": "1.1.1",
+ "postcss-normalize-url": "3.0.8",
+ "postcss-ordered-values": "2.2.3",
+ "postcss-reduce-idents": "2.4.0",
+ "postcss-reduce-initial": "1.0.1",
+ "postcss-reduce-transforms": "1.0.4",
+ "postcss-svgo": "2.1.6",
+ "postcss-unique-selectors": "2.0.2",
+ "postcss-value-parser": "3.3.0",
+ "postcss-zindex": "2.2.0"
+ }
+ },
+ "csso": {
+ "version": "2.3.2",
+ "bundled": true,
+ "requires": {
+ "clap": "1.2.3",
+ "source-map": "0.5.7"
+ }
+ },
+ "currently-unhandled": {
+ "version": "0.4.1",
+ "bundled": true,
+ "requires": {
+ "array-find-index": "1.0.2"
+ }
+ },
+ "d": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "es5-ext": "0.10.30"
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "bundled": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
+ },
+ "date-now": {
+ "version": "0.1.4",
+ "bundled": true
+ },
+ "de-indent": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "bundled": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "bundled": true
+ },
+ "deep-equal": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "default-gateway": {
+ "version": "2.5.0",
+ "bundled": true,
+ "requires": {
+ "execa": "0.7.0",
+ "ip-regex": "2.1.0"
+ }
+ },
+ "define-properties": {
+ "version": "1.1.2",
+ "bundled": true,
+ "requires": {
+ "foreach": "2.0.5",
+ "object-keys": "1.0.11"
+ }
+ },
+ "defined": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "del": {
+ "version": "3.0.0",
+ "bundled": true,
+ "requires": {
+ "globby": "6.1.0",
+ "is-path-cwd": "1.0.0",
+ "is-path-in-cwd": "1.0.0",
+ "p-map": "1.2.0",
+ "pify": "3.0.0",
+ "rimraf": "2.6.2"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "bundled": true
+ }
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "depd": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "des.js": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "bundled": true
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
+ },
+ "detect-node": {
+ "version": "2.0.3",
+ "bundled": true
+ },
+ "diffie-hellman": {
+ "version": "5.0.2",
+ "bundled": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "miller-rabin": "4.0.0",
+ "randombytes": "2.0.5"
+ }
+ },
+ "dns-equal": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "dns-packet": {
+ "version": "1.2.2",
+ "bundled": true,
+ "requires": {
+ "ip": "1.1.5",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "dns-txt": {
+ "version": "2.0.2",
+ "bundled": true,
+ "requires": {
+ "buffer-indexof": "1.1.1"
+ }
+ },
+ "domain-browser": {
+ "version": "1.1.7",
+ "bundled": true
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "editorconfig": {
+ "version": "0.13.3",
+ "bundled": true,
+ "requires": {
+ "bluebird": "3.5.0",
+ "commander": "2.11.0",
+ "lru-cache": "3.2.0",
+ "semver": "5.4.1",
+ "sigmund": "1.0.1"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "3.2.0",
+ "bundled": true,
+ "requires": {
+ "pseudomap": "1.0.2"
+ }
+ }
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "electron-to-chromium": {
+ "version": "1.3.22",
+ "bundled": true
+ },
+ "elliptic": {
+ "version": "6.4.0",
+ "bundled": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "brorand": "1.1.0",
+ "hash.js": "1.1.3",
+ "hmac-drbg": "1.0.1",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "bundled": true
+ },
+ "encodeurl": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "enhanced-resolve": {
+ "version": "3.4.1",
+ "bundled": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "memory-fs": "0.4.1",
+ "object-assign": "4.1.1",
+ "tapable": "0.2.8"
+ }
+ },
+ "errno": {
+ "version": "0.1.4",
+ "bundled": true,
+ "requires": {
+ "prr": "0.0.0"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.1",
+ "bundled": true,
+ "requires": {
+ "is-arrayish": "0.2.1"
+ }
+ },
+ "es-abstract": {
+ "version": "1.8.2",
+ "bundled": true,
+ "requires": {
+ "es-to-primitive": "1.1.1",
+ "function-bind": "1.1.1",
+ "has": "1.0.1",
+ "is-callable": "1.1.3",
+ "is-regex": "1.0.4"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.1.1",
+ "bundled": true,
+ "requires": {
+ "is-callable": "1.1.3",
+ "is-date-object": "1.0.1",
+ "is-symbol": "1.0.1"
+ }
+ },
+ "es5-ext": {
+ "version": "0.10.30",
+ "bundled": true,
+ "requires": {
+ "es6-iterator": "2.0.1",
+ "es6-symbol": "3.1.1"
+ }
+ },
+ "es6-iterator": {
+ "version": "2.0.1",
+ "bundled": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.30",
+ "es6-symbol": "3.1.1"
+ }
+ },
+ "es6-map": {
+ "version": "0.1.5",
+ "bundled": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.30",
+ "es6-iterator": "2.0.1",
+ "es6-set": "0.1.5",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "0.3.5"
+ }
+ },
+ "es6-set": {
+ "version": "0.1.5",
+ "bundled": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.30",
+ "es6-iterator": "2.0.1",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "0.3.5"
+ }
+ },
+ "es6-symbol": {
+ "version": "3.1.1",
+ "bundled": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.30"
+ }
+ },
+ "es6-weak-map": {
+ "version": "2.0.2",
+ "bundled": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.30",
+ "es6-iterator": "2.0.1",
+ "es6-symbol": "3.1.1"
+ }
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "bundled": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "bundled": true
+ },
+ "escope": {
+ "version": "3.6.0",
+ "bundled": true,
+ "requires": {
+ "es6-map": "0.1.5",
+ "es6-weak-map": "2.0.2",
+ "esrecurse": "4.2.0",
+ "estraverse": "4.2.0"
+ }
+ },
+ "esprima": {
+ "version": "2.7.3",
+ "bundled": true
+ },
+ "esrecurse": {
+ "version": "4.2.0",
+ "bundled": true,
+ "requires": {
+ "estraverse": "4.2.0",
+ "object-assign": "4.1.1"
+ }
+ },
+ "estraverse": {
+ "version": "4.2.0",
+ "bundled": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "bundled": true
+ },
+ "etag": {
+ "version": "1.8.1",
+ "bundled": true
+ },
+ "event-emitter": {
+ "version": "0.3.5",
+ "bundled": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.30"
+ }
+ },
+ "eventemitter3": {
+ "version": "1.2.0",
+ "bundled": true
+ },
+ "events": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "eventsource": {
+ "version": "0.1.6",
+ "bundled": true,
+ "requires": {
+ "original": "1.0.0"
+ }
+ },
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "bundled": true,
+ "requires": {
+ "md5.js": "1.3.4",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "execa": {
+ "version": "0.7.0",
+ "bundled": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "bundled": true,
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ }
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "bundled": true,
+ "requires": {
+ "fill-range": "2.2.3"
+ }
+ },
+ "express": {
+ "version": "4.15.5",
+ "bundled": true,
+ "requires": {
+ "accepts": "1.3.4",
+ "array-flatten": "1.1.1",
+ "content-disposition": "0.5.2",
+ "content-type": "1.0.4",
+ "cookie": "0.3.1",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "1.1.1",
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "etag": "1.8.1",
+ "finalhandler": "1.0.6",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "1.1.2",
+ "on-finished": "2.3.0",
+ "parseurl": "1.3.2",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "1.1.5",
+ "qs": "6.5.0",
+ "range-parser": "1.2.0",
+ "send": "0.15.6",
+ "serve-static": "1.12.6",
+ "setprototypeof": "1.0.3",
+ "statuses": "1.3.1",
+ "type-is": "1.6.15",
+ "utils-merge": "1.0.0",
+ "vary": "1.1.2"
+ },
+ "dependencies": {
+ "array-flatten": {
+ "version": "1.1.1",
+ "bundled": true
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "bundled": true
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "bundled": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "extract-text-webpack-plugin": {
+ "version": "3.0.0",
+ "bundled": true,
+ "requires": {
+ "async": "2.5.0",
+ "loader-utils": "1.1.0",
+ "schema-utils": "0.3.0",
+ "webpack-sources": "1.0.1"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "1.1.0",
+ "bundled": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "bundled": true
+ },
+ "fast-deep-equal": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "fastparse": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "faye-websocket": {
+ "version": "0.10.0",
+ "bundled": true,
+ "requires": {
+ "websocket-driver": "0.7.0"
+ }
+ },
+ "file-loader": {
+ "version": "0.9.0",
+ "bundled": true,
+ "requires": {
+ "loader-utils": "0.2.17"
+ }
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "bundled": true
+ },
+ "fill-range": {
+ "version": "2.2.3",
+ "bundled": true,
+ "requires": {
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.7",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "finalhandler": {
+ "version": "1.0.6",
+ "bundled": true,
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "on-finished": "2.3.0",
+ "parseurl": "1.3.2",
+ "statuses": "1.3.1",
+ "unpipe": "1.0.0"
+ }
+ },
+ "find-cache-dir": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "commondir": "1.0.1",
+ "make-dir": "1.0.0",
+ "pkg-dir": "2.0.0"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "bundled": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "flatten": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "bundled": true,
+ "requires": {
+ "for-in": "1.0.2"
+ }
+ },
+ "foreach": {
+ "version": "2.0.5",
+ "bundled": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "bundled": true
+ },
+ "form-data": {
+ "version": "2.3.1",
+ "bundled": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.17"
+ }
+ },
+ "forwarded": {
+ "version": "0.1.2",
+ "bundled": true
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "bundled": true
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "fsevents": {
+ "version": "1.1.2",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "nan": "2.7.0",
+ "node-pre-gyp": "0.6.36"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.0",
+ "bundled": true,
+ "optional": true
+ },
+ "ajv": {
+ "version": "4.11.8",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true
+ },
+ "aproba": {
+ "version": "1.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "delegates": "1.0.0",
+ "readable-stream": "2.2.9"
+ }
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "bundled": true,
+ "optional": true
+ },
+ "assert-plus": {
+ "version": "0.2.0",
+ "bundled": true,
+ "optional": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "bundled": true,
+ "optional": true
+ },
+ "aws-sign2": {
+ "version": "0.6.0",
+ "bundled": true,
+ "optional": true
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "bundled": true,
+ "optional": true
+ },
+ "balanced-match": {
+ "version": "0.4.2",
+ "bundled": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "block-stream": {
+ "version": "0.0.9",
+ "bundled": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "boom": {
+ "version": "2.10.1",
+ "bundled": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.7",
+ "bundled": true,
+ "requires": {
+ "balanced-match": "0.4.2",
+ "concat-map": "0.0.1"
+ }
+ },
+ "buffer-shims": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "bundled": true,
+ "optional": true
+ },
+ "co": {
+ "version": "4.6.0",
+ "bundled": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "bundled": true,
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "cryptiles": {
+ "version": "2.0.5",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "boom": "2.10.1"
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "debug": {
+ "version": "2.6.8",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.4.2",
+ "bundled": true,
+ "optional": true
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "extsprintf": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "bundled": true,
+ "optional": true
+ },
+ "form-data": {
+ "version": "2.1.4",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.15"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "fstream": {
+ "version": "1.0.11",
+ "bundled": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "inherits": "2.0.3",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.1"
+ }
+ },
+ "fstream-ignore": {
+ "version": "1.0.5",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "fstream": "1.0.11",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4"
+ }
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "aproba": "1.1.1",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.2"
+ }
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "bundled": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "bundled": true
+ },
+ "har-schema": {
+ "version": "1.0.5",
+ "bundled": true,
+ "optional": true
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "ajv": "4.11.8",
+ "har-schema": "1.0.5"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "hawk": {
+ "version": "3.1.3",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "boom": "2.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
+ }
+ },
+ "hoek": {
+ "version": "2.16.3",
+ "bundled": true
+ },
+ "http-signature": {
+ "version": "1.1.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "0.2.0",
+ "jsprim": "1.4.0",
+ "sshpk": "1.13.0"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true
+ },
+ "ini": {
+ "version": "1.3.4",
+ "bundled": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "bundled": true,
+ "optional": true
+ },
+ "jodid25519": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "bundled": true,
+ "optional": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "jsonify": "0.0.0"
+ }
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "jsprim": {
+ "version": "1.4.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.0.2",
+ "json-schema": "0.2.3",
+ "verror": "1.3.6"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "mime-db": {
+ "version": "1.27.0",
+ "bundled": true
+ },
+ "mime-types": {
+ "version": "2.1.15",
+ "bundled": true,
+ "requires": {
+ "mime-db": "1.27.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "requires": {
+ "brace-expansion": "1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "node-pre-gyp": {
+ "version": "0.6.36",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "mkdirp": "0.5.1",
+ "nopt": "4.0.1",
+ "npmlog": "4.1.0",
+ "rc": "1.2.1",
+ "request": "2.81.0",
+ "rimraf": "2.6.1",
+ "semver": "5.3.0",
+ "tar": "2.2.1",
+ "tar-pack": "3.4.0"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1.1.0",
+ "osenv": "0.1.4"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "1.1.4",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "bundled": true,
+ "optional": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.4",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "bundled": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "1.0.7",
+ "bundled": true
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "bundled": true,
+ "optional": true
+ },
+ "qs": {
+ "version": "6.4.0",
+ "bundled": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "deep-extend": "0.4.2",
+ "ini": "1.3.4",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.2.9",
+ "bundled": true,
+ "requires": {
+ "buffer-shims": "1.0.0",
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "request": {
+ "version": "2.81.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "4.2.1",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.15",
+ "oauth-sign": "0.8.2",
+ "performance-now": "0.2.0",
+ "qs": "6.4.0",
+ "safe-buffer": "5.0.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.2",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.0.1"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.1",
+ "bundled": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.0.1",
+ "bundled": true
+ },
+ "semver": {
+ "version": "5.3.0",
+ "bundled": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "sntp": {
+ "version": "1.0.9",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "sshpk": {
+ "version": "1.13.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jodid25519": "1.0.2",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.0.1"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "bundled": true,
+ "optional": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "2.2.1",
+ "bundled": true,
+ "requires": {
+ "block-stream": "0.0.9",
+ "fstream": "1.0.11",
+ "inherits": "2.0.3"
+ }
+ },
+ "tar-pack": {
+ "version": "3.4.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "debug": "2.6.8",
+ "fstream": "1.0.11",
+ "fstream-ignore": "1.0.5",
+ "once": "1.4.0",
+ "readable-stream": "2.2.9",
+ "rimraf": "2.6.1",
+ "tar": "2.2.1",
+ "uid-number": "0.0.6"
+ }
+ },
+ "tough-cookie": {
+ "version": "2.3.2",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "punycode": "1.4.1"
+ }
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "bundled": true,
+ "optional": true
+ },
+ "uid-number": {
+ "version": "0.0.6",
+ "bundled": true,
+ "optional": true
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "uuid": {
+ "version": "3.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "verror": {
+ "version": "1.3.6",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "extsprintf": "1.0.2"
+ }
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "string-width": "1.0.2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true
+ }
+ }
+ },
+ "fstream": {
+ "version": "1.0.11",
+ "bundled": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "inherits": "2.0.3",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.2"
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "requires": {
+ "aproba": "1.2.0",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.2"
+ }
+ },
+ "gaze": {
+ "version": "1.1.2",
+ "bundled": true,
+ "requires": {
+ "globule": "1.2.0"
+ }
+ },
+ "get-caller-file": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "get-stdin": {
+ "version": "4.0.1",
+ "bundled": true
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "bundled": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "bundled": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "bundled": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "bundled": true,
+ "requires": {
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "glob-parent": {
+ "version": "2.0.0",
+ "bundled": true,
+ "requires": {
+ "is-glob": "2.0.1"
+ }
+ },
+ "globals": {
+ "version": "9.18.0",
+ "bundled": true
+ },
+ "globby": {
+ "version": "6.1.0",
+ "bundled": true,
+ "requires": {
+ "array-union": "1.0.2",
+ "glob": "7.1.2",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "globule": {
+ "version": "1.2.0",
+ "bundled": true,
+ "requires": {
+ "glob": "7.1.2",
+ "lodash": "4.17.4",
+ "minimatch": "3.0.4"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "bundled": true
+ },
+ "handle-thing": {
+ "version": "1.2.5",
+ "bundled": true
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "bundled": true
+ },
+ "har-validator": {
+ "version": "5.0.3",
+ "bundled": true,
+ "requires": {
+ "ajv": "5.2.3",
+ "har-schema": "2.0.0"
+ }
+ },
+ "has": {
+ "version": "1.0.1",
+ "bundled": true,
+ "requires": {
+ "function-bind": "1.1.1"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "bundled": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true
+ },
+ "hash-base": {
+ "version": "2.0.2",
+ "bundled": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "hash-sum": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "hash.js": {
+ "version": "1.1.3",
+ "bundled": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
+ },
+ "hawk": {
+ "version": "6.0.2",
+ "bundled": true,
+ "requires": {
+ "boom": "4.3.1",
+ "cryptiles": "3.1.2",
+ "hoek": "4.2.0",
+ "sntp": "2.0.2"
+ }
+ },
+ "he": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "bundled": true,
+ "requires": {
+ "hash.js": "1.1.3",
+ "minimalistic-assert": "1.0.0",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
+ },
+ "hoek": {
+ "version": "4.2.0",
+ "bundled": true
+ },
+ "home-or-tmp": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.5.0",
+ "bundled": true
+ },
+ "hpack.js": {
+ "version": "2.1.6",
+ "bundled": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "obuf": "1.1.1",
+ "readable-stream": "2.3.3",
+ "wbuf": "1.7.2"
+ }
+ },
+ "html-comment-regex": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "html-entities": {
+ "version": "1.2.1",
+ "bundled": true
+ },
+ "http-deceiver": {
+ "version": "1.2.7",
+ "bundled": true
+ },
+ "http-errors": {
+ "version": "1.6.2",
+ "bundled": true,
+ "requires": {
+ "depd": "1.1.1",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.0.3",
+ "statuses": "1.3.1"
+ }
+ },
+ "http-parser-js": {
+ "version": "0.4.8",
+ "bundled": true
+ },
+ "http-proxy": {
+ "version": "1.16.2",
+ "bundled": true,
+ "requires": {
+ "eventemitter3": "1.2.0",
+ "requires-port": "1.0.0"
+ }
+ },
+ "http-proxy-middleware": {
+ "version": "0.17.4",
+ "bundled": true,
+ "requires": {
+ "http-proxy": "1.16.2",
+ "is-glob": "3.1.0",
+ "lodash": "4.17.4",
+ "micromatch": "2.3.11"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "2.1.1",
+ "bundled": true
+ },
+ "is-glob": {
+ "version": "3.1.0",
+ "bundled": true,
+ "requires": {
+ "is-extglob": "2.1.1"
+ }
+ }
+ }
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "bundled": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.13.1"
+ }
+ },
+ "https-browserify": {
+ "version": "0.0.1",
+ "bundled": true
+ },
+ "icss-replace-symbols": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "ieee754": {
+ "version": "1.1.8",
+ "bundled": true
+ },
+ "in-publish": {
+ "version": "2.0.0",
+ "bundled": true
+ },
+ "indent-string": {
+ "version": "2.1.0",
+ "bundled": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
+ },
+ "indexes-of": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "bundled": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true
+ },
+ "ini": {
+ "version": "1.3.4",
+ "bundled": true
+ },
+ "internal-ip": {
+ "version": "2.0.3",
+ "bundled": true,
+ "requires": {
+
<TRUNCATED>
[8/8] airavata-django-portal git commit: AIRAVATA-2537 Show index of
projects being displayed
Posted by ma...@apache.org.
AIRAVATA-2537 Show index of projects being displayed
Project: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/commit/c2df89a1
Tree: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/tree/c2df89a1
Diff: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/diff/c2df89a1
Branch: refs/heads/master
Commit: c2df89a15a4d8fa0df6d2398ddc6384ac4ac103a
Parents: 5397f67
Author: Marcus Christie <ma...@iu.edu>
Authored: Sun Oct 15 15:38:44 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Sun Oct 15 15:38:44 2017 -0400
----------------------------------------------------------------------
django_airavata/apps/api/views.py | 4 +++-
.../js/views/ProjectListContainer.vue | 13 +++++++++++++
.../static/common/js/utils/PaginationIterator.js | 2 ++
3 files changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/c2df89a1/django_airavata/apps/api/views.py
----------------------------------------------------------------------
diff --git a/django_airavata/apps/api/views.py b/django_airavata/apps/api/views.py
index 4dc4d0f..cc9c37e 100644
--- a/django_airavata/apps/api/views.py
+++ b/django_airavata/apps/api/views.py
@@ -150,7 +150,9 @@ class APIResultPagination(pagination.LimitOffsetPagination):
return Response(OrderedDict([
('next', self.get_next_link() if has_next_link else None),
('previous', self.get_previous_link()),
- ('results', data)
+ ('results', data),
+ ('limit', self.limit),
+ ('offset', self.offset)
]))
def get_next_link(self):
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/c2df89a1/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
index 46b2e21..171b882 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
@@ -1,6 +1,9 @@
<template>
<div>
<project-list v-bind:projects="projects"></project-list>
+ <div>
+ Showing {{ first }} - {{ last }}
+ </div>
<div v-if="hasNext">
<a href="#" v-on:click.prevent="nextProjects">Next</a>
</div>
@@ -43,6 +46,16 @@ export default {
},
hasPrevious: function() {
return this.projectsPaginator && this.projectsPaginator.hasPrevious();
+ },
+ first: function() {
+ return this.projectsPaginator ? this.projectsPaginator.offset + 1 : null;
+ },
+ last: function() {
+ if (this.projectsPaginator) {
+ return this.projectsPaginator.offset + this.projectsPaginator.results.length;
+ } else {
+ return null;
+ }
}
},
beforeMount: function () {
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/c2df89a1/django_airavata/static/common/js/utils/PaginationIterator.js
----------------------------------------------------------------------
diff --git a/django_airavata/static/common/js/utils/PaginationIterator.js b/django_airavata/static/common/js/utils/PaginationIterator.js
index 438c616..d27855b 100644
--- a/django_airavata/static/common/js/utils/PaginationIterator.js
+++ b/django_airavata/static/common/js/utils/PaginationIterator.js
@@ -38,6 +38,8 @@ export default class PaginationIterator {
} else {
this.results = pagedResponse.results;
}
+ this.offset = pagedResponse.offset;
+ this.limit = pagedResponse.limit;
return this;
}
}
\ No newline at end of file
[5/8] airavata-django-portal git commit: AIRAVATA-2537 Move models
and services to common code
Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/apps/workspace/package.json
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/package.json b/django_airavata/apps/workspace/package.json
index 5a2c4de..fd77e9f 100644
--- a/django_airavata/apps/workspace/package.json
+++ b/django_airavata/apps/workspace/package.json
@@ -10,6 +10,7 @@
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
},
"dependencies": {
+ "django-airavata-common": "file:../..",
"moment": "^2.18.1",
"vue": "^2.3.3"
},
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/BaseModel.js
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/BaseModel.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/BaseModel.js
deleted file mode 100644
index e61a1bc..0000000
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/BaseModel.js
+++ /dev/null
@@ -1,6 +0,0 @@
-
-export default class BaseModel {
- constructor(data = {}) {
- Object.assign(this, data);
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/Project.js
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/Project.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/Project.js
deleted file mode 100644
index 04b2ad4..0000000
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/Project.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import BaseModel from './BaseModel';
-
-export default class Project extends BaseModel {
- constructor(data = {}) {
- super(data);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js
deleted file mode 100644
index 3712181..0000000
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js
+++ /dev/null
@@ -1,32 +0,0 @@
-
-import Project from '../models/Project'
-import PaginationIterator from '../utils/PaginationIterator'
-
-class ProjectService {
- list(data = {}) {
- if (data && data.results) {
- return Promise.resolve(new PaginationIterator(data, Project));
- } else {
- return fetch('/api/projects', {
- credentials: 'include'
- })
- .then(response => response.json())
- .then(json => new PaginationIterator(json, Project));
- }
- }
-
- create() {
- // TODO
- }
-
- update() {
- // TODO
- }
-
- get() {
- // TODO
- }
-}
-
-// Export as a singleton
-export default new ProjectService();
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/apps/workspace/static/django_airavata_workspace/js/utils/PaginationIterator.js
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/utils/PaginationIterator.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/utils/PaginationIterator.js
deleted file mode 100644
index 438c616..0000000
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/utils/PaginationIterator.js
+++ /dev/null
@@ -1,43 +0,0 @@
-
-export default class PaginationIterator {
-
- constructor(pagedResponse, resultType = null) {
- this.resultType = resultType;
- this.processResponse(pagedResponse);
- }
-
- next() {
- return fetch(this._next, {
- credentials: 'include'
- })
- .then(response => response.json())
- .then(json => this.processResponse(json));
- }
-
- hasNext() {
- return this._next != null;
- }
-
- previous() {
- return fetch(this._previous, {
- credentials: 'include'
- })
- .then(response => response.json())
- .then(json => this.processResponse(json));
- }
-
- hasPrevious() {
- return this._previous != null;
- }
-
- processResponse(pagedResponse) {
- this._next = pagedResponse.next;
- this._previous = pagedResponse.previous;
- if (this.resultType) {
- this.results = pagedResponse.results.map(result => new this.resultType(result));
- } else {
- this.results = pagedResponse.results;
- }
- return this;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
index 3785d38..46b2e21 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
@@ -11,9 +11,9 @@
</template>
<script>
-import Project from '../models/Project'
import ProjectList from './ProjectList.vue'
-import ProjectService from '../services/ProjectService'
+
+import { services } from 'django-airavata-common'
export default {
props: ['initialProjectsData'],
@@ -46,7 +46,7 @@ export default {
}
},
beforeMount: function () {
- ProjectService.list(this.initialProjectsData)
+ services.ProjectService.list(this.initialProjectsData)
.then(result => this.projectsPaginator = result);
}
}
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/package.json
----------------------------------------------------------------------
diff --git a/django_airavata/package.json b/django_airavata/package.json
index 6099bfd..c44a0c2 100644
--- a/django_airavata/package.json
+++ b/django_airavata/package.json
@@ -4,6 +4,7 @@
"version": "1.0.0",
"author": "Marcus Christie <ma...@apache.org>",
"private": true,
+ "main": "./static/common/dist/main.js",
"scripts": {
"dev": "cross-env NODE_ENV=development webpack --progress --hide-modules",
"watch": "cross-env NODE_ENV=development webpack --watch",
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/static/common/js/index.js
----------------------------------------------------------------------
diff --git a/django_airavata/static/common/js/index.js b/django_airavata/static/common/js/index.js
index e69de29..6ee1d22 100644
--- a/django_airavata/static/common/js/index.js
+++ b/django_airavata/static/common/js/index.js
@@ -0,0 +1,17 @@
+import Project from './models/Project'
+
+import ProjectService from './services/ProjectService'
+
+import PaginationIterator from './utils/PaginationIterator'
+
+exports.models = {
+ Project: Project
+}
+
+exports.services = {
+ ProjectService: ProjectService
+}
+
+exports.utils = {
+ PaginationIterator: PaginationIterator
+}
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/static/common/js/models/BaseModel.js
----------------------------------------------------------------------
diff --git a/django_airavata/static/common/js/models/BaseModel.js b/django_airavata/static/common/js/models/BaseModel.js
new file mode 100644
index 0000000..e61a1bc
--- /dev/null
+++ b/django_airavata/static/common/js/models/BaseModel.js
@@ -0,0 +1,6 @@
+
+export default class BaseModel {
+ constructor(data = {}) {
+ Object.assign(this, data);
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/static/common/js/models/Project.js
----------------------------------------------------------------------
diff --git a/django_airavata/static/common/js/models/Project.js b/django_airavata/static/common/js/models/Project.js
new file mode 100644
index 0000000..04b2ad4
--- /dev/null
+++ b/django_airavata/static/common/js/models/Project.js
@@ -0,0 +1,7 @@
+import BaseModel from './BaseModel';
+
+export default class Project extends BaseModel {
+ constructor(data = {}) {
+ super(data);
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/static/common/js/services/ProjectService.js
----------------------------------------------------------------------
diff --git a/django_airavata/static/common/js/services/ProjectService.js b/django_airavata/static/common/js/services/ProjectService.js
new file mode 100644
index 0000000..3712181
--- /dev/null
+++ b/django_airavata/static/common/js/services/ProjectService.js
@@ -0,0 +1,32 @@
+
+import Project from '../models/Project'
+import PaginationIterator from '../utils/PaginationIterator'
+
+class ProjectService {
+ list(data = {}) {
+ if (data && data.results) {
+ return Promise.resolve(new PaginationIterator(data, Project));
+ } else {
+ return fetch('/api/projects', {
+ credentials: 'include'
+ })
+ .then(response => response.json())
+ .then(json => new PaginationIterator(json, Project));
+ }
+ }
+
+ create() {
+ // TODO
+ }
+
+ update() {
+ // TODO
+ }
+
+ get() {
+ // TODO
+ }
+}
+
+// Export as a singleton
+export default new ProjectService();
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/static/common/js/utils/PaginationIterator.js
----------------------------------------------------------------------
diff --git a/django_airavata/static/common/js/utils/PaginationIterator.js b/django_airavata/static/common/js/utils/PaginationIterator.js
new file mode 100644
index 0000000..438c616
--- /dev/null
+++ b/django_airavata/static/common/js/utils/PaginationIterator.js
@@ -0,0 +1,43 @@
+
+export default class PaginationIterator {
+
+ constructor(pagedResponse, resultType = null) {
+ this.resultType = resultType;
+ this.processResponse(pagedResponse);
+ }
+
+ next() {
+ return fetch(this._next, {
+ credentials: 'include'
+ })
+ .then(response => response.json())
+ .then(json => this.processResponse(json));
+ }
+
+ hasNext() {
+ return this._next != null;
+ }
+
+ previous() {
+ return fetch(this._previous, {
+ credentials: 'include'
+ })
+ .then(response => response.json())
+ .then(json => this.processResponse(json));
+ }
+
+ hasPrevious() {
+ return this._previous != null;
+ }
+
+ processResponse(pagedResponse) {
+ this._next = pagedResponse.next;
+ this._previous = pagedResponse.previous;
+ if (this.resultType) {
+ this.results = pagedResponse.results.map(result => new this.resultType(result));
+ } else {
+ this.results = pagedResponse.results;
+ }
+ return this;
+ }
+}
\ No newline at end of file
[3/8] airavata-django-portal git commit: AIRAVATA-2537 Introduce
service for loading projects
Posted by ma...@apache.org.
AIRAVATA-2537 Introduce service for loading projects
Project: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/commit/4df20b6e
Tree: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/tree/4df20b6e
Diff: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/diff/4df20b6e
Branch: refs/heads/master
Commit: 4df20b6e16ac7b6a517b66e00640092e8ae0b592
Parents: 30e9ce3
Author: Marcus Christie <ma...@iu.edu>
Authored: Sun Oct 15 12:09:56 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Sun Oct 15 12:09:56 2017 -0400
----------------------------------------------------------------------
.../js/entry-project-list.js | 2 +-
.../js/services/ProjectService.js | 55 ++++++++++++++++++++
.../js/views/ProjectListContainer.vue | 28 ++++++++--
3 files changed, 80 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/4df20b6e/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-project-list.js
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-project-list.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-project-list.js
index e130aea..784b7cc 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-project-list.js
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-project-list.js
@@ -5,7 +5,7 @@ new Vue({
el: '#project-list',
template: '<project-list-container v-bind:initialProjectsData="projectsData"></project-list-container>',
data: {
- projects: null
+ projectsData: null
},
components: {
ProjectListContainer
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/4df20b6e/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js
new file mode 100644
index 0000000..4d51c59
--- /dev/null
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js
@@ -0,0 +1,55 @@
+
+import Project from '../models/Project'
+
+class ProjectService {
+ list(data = {}) {
+ if (data && data.results) {
+ let projects = data.results.map(result => new Project(result));
+ this.next = data.next;
+ this.previous = data.previous;
+ return Promise.resolve({
+ projects: projects,
+ next: this.next,
+ previous: this.previous
+ });
+ } else {
+ return fetch('/api/projects', {
+ credentials: 'include'
+ })
+ .then(response => response.json())
+ .then(json => {
+ this.next = json.next;
+ this.previous = json.previous;
+ let projects = json.results.map(project => new Project(project));
+ return {
+ projects: projects,
+ next: this.next,
+ previous: this.previous
+ }
+ });
+ }
+ }
+
+ listNext() {
+ // TODO
+ }
+
+ listPrevious() {
+ // TODO
+ }
+
+ create() {
+ // TODO
+ }
+
+ update() {
+ // TODO
+ }
+
+ get() {
+ // TODO
+ }
+}
+
+// Export as a singleton
+export default new ProjectService();
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/4df20b6e/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
index 271dd5d..b384a00 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
@@ -11,17 +11,18 @@
</template>
<script>
-import Project from '../models/Project';
+import Project from '../models/Project'
import ProjectList from './ProjectList.vue'
+import ProjectService from '../services/ProjectService'
export default {
props: ['initialProjectsData'],
name: 'project-list-container',
data () {
return {
- projects: this.initialProjectsData.results,
- next: this.initialProjectsData.next,
- previous: this.initialProjectsData.previous,
+ projects: null,
+ next: null,
+ previous: null,
}
},
components: {
@@ -51,6 +52,25 @@ export default {
this.projects = json.results.map(project => new Project(project));
});
},
+ },
+ beforeMount: function () {
+ if (this.initialProjectsData) {
+ // TODO: Initialize project list iterator
+ ProjectService.list(this.initialProjectsData)
+ .then(result => {
+ this.projects = result.projects;
+ this.next = result.next;
+ this.previous = result.previous;
+ });
+ } else {
+ ProjectService.list()
+ .then(result => {
+ this.projects = result.projects;
+ this.next = result.next;
+ this.previous = result.previous;
+ });
+ }
+ // TODO: load projects if initialProjectsData is null
}
}
</script>
[2/8] airavata-django-portal git commit: AIRAVATA-2537 Implement
simple pagination
Posted by ma...@apache.org.
AIRAVATA-2537 Implement simple pagination
Project: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/commit/30e9ce3c
Tree: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/tree/30e9ce3c
Diff: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/diff/30e9ce3c
Branch: refs/heads/master
Commit: 30e9ce3c6f35d51d7416da9da772b3b83f8cb26c
Parents: f4367b0
Author: Marcus Christie <ma...@iu.edu>
Authored: Sat Oct 14 10:09:16 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Sat Oct 14 10:09:16 2017 -0400
----------------------------------------------------------------------
.../js/entry-project-list.js | 6 +--
.../js/models/BaseModel.js | 6 +++
.../js/models/Project.js | 7 ++++
.../js/views/ProjectListContainer.vue | 42 ++++++++++++++++++--
.../projects_list.html | 2 +-
5 files changed, 56 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/30e9ce3c/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-project-list.js
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-project-list.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-project-list.js
index 7d771c2..e130aea 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-project-list.js
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-project-list.js
@@ -3,7 +3,7 @@ import ProjectListContainer from './views/ProjectListContainer.vue'
new Vue({
el: '#project-list',
- template: '<project-list-container v-bind:initialProjects="projects"></project-list-container>',
+ template: '<project-list-container v-bind:initialProjectsData="projectsData"></project-list-container>',
data: {
projects: null
},
@@ -11,8 +11,8 @@ new Vue({
ProjectListContainer
},
beforeMount: function () {
- if (this.$el.dataset.projects) {
- this.projects = JSON.parse(this.$el.dataset.projects);
+ if (this.$el.dataset.projectsData) {
+ this.projectsData = JSON.parse(this.$el.dataset.projectsData);
}
}
})
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/30e9ce3c/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/BaseModel.js
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/BaseModel.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/BaseModel.js
new file mode 100644
index 0000000..e61a1bc
--- /dev/null
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/BaseModel.js
@@ -0,0 +1,6 @@
+
+export default class BaseModel {
+ constructor(data = {}) {
+ Object.assign(this, data);
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/30e9ce3c/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/Project.js
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/Project.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/Project.js
new file mode 100644
index 0000000..04b2ad4
--- /dev/null
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/models/Project.js
@@ -0,0 +1,7 @@
+import BaseModel from './BaseModel';
+
+export default class Project extends BaseModel {
+ constructor(data = {}) {
+ super(data);
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/30e9ce3c/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
index 47d1b5f..271dd5d 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
@@ -1,20 +1,56 @@
<template>
- <project-list v-bind:projects="projects"></project-list>
+ <div>
+ <project-list v-bind:projects="projects"></project-list>
+ <div v-if="next">
+ <a href="#" v-on:click.prevent="nextProjects">Next</a>
+ </div>
+ <div v-if="previous">
+ <a href="#" v-on:click.prevent="previousProjects">Previous</a>
+ </div>
+ </div>
</template>
<script>
+import Project from '../models/Project';
import ProjectList from './ProjectList.vue'
export default {
- props: ['initialProjects'],
+ props: ['initialProjectsData'],
name: 'project-list-container',
data () {
return {
- projects: this.initialProjects
+ projects: this.initialProjectsData.results,
+ next: this.initialProjectsData.next,
+ previous: this.initialProjectsData.previous,
}
},
components: {
ProjectList
+ },
+ methods: {
+ // TODO: refactor these two methods since they are practically the same
+ nextProjects: function(event) {
+ fetch(this.next, {
+ credentials: 'include'
+ })
+ .then(response => response.json())
+ .then(json => {
+ this.next = json.next;
+ this.previous = json.previous;
+ this.projects = json.results.map(project => new Project(project));
+ });
+ },
+ previousProjects: function(event) {
+ fetch(this.previous, {
+ credentials: 'include'
+ })
+ .then(response => response.json())
+ .then(json => {
+ this.next = json.next;
+ this.previous = json.previous;
+ this.projects = json.results.map(project => new Project(project));
+ });
+ },
}
}
</script>
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/30e9ce3c/django_airavata/apps/workspace/templates/django_airavata_workspace/projects_list.html
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/templates/django_airavata_workspace/projects_list.html b/django_airavata/apps/workspace/templates/django_airavata_workspace/projects_list.html
index 02943e7..e596c0c 100644
--- a/django_airavata/apps/workspace/templates/django_airavata_workspace/projects_list.html
+++ b/django_airavata/apps/workspace/templates/django_airavata_workspace/projects_list.html
@@ -6,7 +6,7 @@
<h4>Browse Projects</h4>
-<div id="project-list" data-projects="{{ projects_data }}"></div>
+<div id="project-list" data-projects-data="{{ projects_data }}"></div>
{% endblock content %}
[4/8] airavata-django-portal git commit: AIRAVATA-2537 Factored
pagination logic into helper class
Posted by ma...@apache.org.
AIRAVATA-2537 Factored pagination logic into helper class
Project: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/commit/d18376ba
Tree: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/tree/d18376ba
Diff: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/diff/d18376ba
Branch: refs/heads/master
Commit: d18376ba11775d33f2f16af8729d2c9d40ca5346
Parents: 4df20b6
Author: Marcus Christie <ma...@iu.edu>
Authored: Sun Oct 15 13:46:03 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Sun Oct 15 13:46:03 2017 -0400
----------------------------------------------------------------------
.../js/services/ProjectService.js | 29 +---------
.../js/utils/PaginationIterator.js | 43 ++++++++++++++
.../js/views/ProjectListContainer.vue | 59 ++++++--------------
3 files changed, 64 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d18376ba/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js
index 4d51c59..3712181 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/services/ProjectService.js
@@ -1,43 +1,20 @@
import Project from '../models/Project'
+import PaginationIterator from '../utils/PaginationIterator'
class ProjectService {
list(data = {}) {
if (data && data.results) {
- let projects = data.results.map(result => new Project(result));
- this.next = data.next;
- this.previous = data.previous;
- return Promise.resolve({
- projects: projects,
- next: this.next,
- previous: this.previous
- });
+ return Promise.resolve(new PaginationIterator(data, Project));
} else {
return fetch('/api/projects', {
credentials: 'include'
})
.then(response => response.json())
- .then(json => {
- this.next = json.next;
- this.previous = json.previous;
- let projects = json.results.map(project => new Project(project));
- return {
- projects: projects,
- next: this.next,
- previous: this.previous
- }
- });
+ .then(json => new PaginationIterator(json, Project));
}
}
- listNext() {
- // TODO
- }
-
- listPrevious() {
- // TODO
- }
-
create() {
// TODO
}
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d18376ba/django_airavata/apps/workspace/static/django_airavata_workspace/js/utils/PaginationIterator.js
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/utils/PaginationIterator.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/utils/PaginationIterator.js
new file mode 100644
index 0000000..438c616
--- /dev/null
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/utils/PaginationIterator.js
@@ -0,0 +1,43 @@
+
+export default class PaginationIterator {
+
+ constructor(pagedResponse, resultType = null) {
+ this.resultType = resultType;
+ this.processResponse(pagedResponse);
+ }
+
+ next() {
+ return fetch(this._next, {
+ credentials: 'include'
+ })
+ .then(response => response.json())
+ .then(json => this.processResponse(json));
+ }
+
+ hasNext() {
+ return this._next != null;
+ }
+
+ previous() {
+ return fetch(this._previous, {
+ credentials: 'include'
+ })
+ .then(response => response.json())
+ .then(json => this.processResponse(json));
+ }
+
+ hasPrevious() {
+ return this._previous != null;
+ }
+
+ processResponse(pagedResponse) {
+ this._next = pagedResponse.next;
+ this._previous = pagedResponse.previous;
+ if (this.resultType) {
+ this.results = pagedResponse.results.map(result => new this.resultType(result));
+ } else {
+ this.results = pagedResponse.results;
+ }
+ return this;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d18376ba/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
----------------------------------------------------------------------
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
index b384a00..3785d38 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ProjectListContainer.vue
@@ -1,10 +1,10 @@
<template>
<div>
<project-list v-bind:projects="projects"></project-list>
- <div v-if="next">
+ <div v-if="hasNext">
<a href="#" v-on:click.prevent="nextProjects">Next</a>
</div>
- <div v-if="previous">
+ <div v-if="hasPrevious">
<a href="#" v-on:click.prevent="previousProjects">Previous</a>
</div>
</div>
@@ -20,57 +20,34 @@ export default {
name: 'project-list-container',
data () {
return {
- projects: null,
- next: null,
- previous: null,
+ projectsPaginator: null,
}
},
components: {
ProjectList
},
methods: {
- // TODO: refactor these two methods since they are practically the same
nextProjects: function(event) {
- fetch(this.next, {
- credentials: 'include'
- })
- .then(response => response.json())
- .then(json => {
- this.next = json.next;
- this.previous = json.previous;
- this.projects = json.results.map(project => new Project(project));
- });
+ this.projectsPaginator.next();
},
previousProjects: function(event) {
- fetch(this.previous, {
- credentials: 'include'
- })
- .then(response => response.json())
- .then(json => {
- this.next = json.next;
- this.previous = json.previous;
- this.projects = json.results.map(project => new Project(project));
- });
+ this.projectsPaginator.previous();
},
},
- beforeMount: function () {
- if (this.initialProjectsData) {
- // TODO: Initialize project list iterator
- ProjectService.list(this.initialProjectsData)
- .then(result => {
- this.projects = result.projects;
- this.next = result.next;
- this.previous = result.previous;
- });
- } else {
- ProjectService.list()
- .then(result => {
- this.projects = result.projects;
- this.next = result.next;
- this.previous = result.previous;
- });
+ computed: {
+ projects: function() {
+ return this.projectsPaginator ? this.projectsPaginator.results : null;
+ },
+ hasNext: function() {
+ return this.projectsPaginator && this.projectsPaginator.hasNext();
+ },
+ hasPrevious: function() {
+ return this.projectsPaginator && this.projectsPaginator.hasPrevious();
}
- // TODO: load projects if initialProjectsData is null
+ },
+ beforeMount: function () {
+ ProjectService.list(this.initialProjectsData)
+ .then(result => this.projectsPaginator = result);
}
}
</script>
[7/8] airavata-django-portal git commit: AIRAVATA-2537 Move models
and services to common code
Posted by ma...@apache.org.
AIRAVATA-2537 Move models and services to common code
Project: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/commit/5397f677
Tree: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/tree/5397f677
Diff: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/diff/5397f677
Branch: refs/heads/master
Commit: 5397f67731d28b2c45c645dad980a6dafb3868d1
Parents: d18376b
Author: Marcus Christie <ma...@iu.edu>
Authored: Sun Oct 15 15:27:24 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Sun Oct 15 15:27:24 2017 -0400
----------------------------------------------------------------------
django_airavata/.babelrc | 5 +
.../apps/workspace/package-lock.json | 6159 ++++++++++++++++++
django_airavata/apps/workspace/package.json | 1 +
.../js/models/BaseModel.js | 6 -
.../js/models/Project.js | 7 -
.../js/services/ProjectService.js | 32 -
.../js/utils/PaginationIterator.js | 43 -
.../js/views/ProjectListContainer.vue | 6 +-
django_airavata/package.json | 1 +
django_airavata/static/common/js/index.js | 17 +
.../static/common/js/models/BaseModel.js | 6 +
.../static/common/js/models/Project.js | 7 +
.../static/common/js/services/ProjectService.js | 32 +
.../common/js/utils/PaginationIterator.js | 43 +
14 files changed, 6274 insertions(+), 91 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/5397f677/django_airavata/.babelrc
----------------------------------------------------------------------
diff --git a/django_airavata/.babelrc b/django_airavata/.babelrc
new file mode 100644
index 0000000..3ed94df
--- /dev/null
+++ b/django_airavata/.babelrc
@@ -0,0 +1,5 @@
+{
+ "presets": [
+ ["env", { "modules": false }]
+ ]
+}