hippo-fw 0.9.2 → 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/hippo +0 -2
- data/command-reference-files/initial/.babelrc +1 -1
- data/command-reference-files/initial/Gemfile +2 -2
- data/command-reference-files/initial/config/webpack.config.js +58 -25
- data/command-reference-files/initial/db/{.gitkeep → migrate/.gitkeep} +0 -0
- data/command-reference-files/initial/views/.gitkeep +0 -0
- data/config/routes.rb +1 -1
- data/db/migrate/{01_create_tenants.rb → 20170530120001_create_tenants.rb} +0 -0
- data/db/migrate/20170530120002_create_system_settings.rb +10 -0
- data/db/migrate/{03_create_assets.rb → 20170530120003_create_assets.rb} +2 -2
- data/db/migrate/{04_create_users.rb → 20170530120004_create_users.rb} +4 -4
- data/lib/hippo/api/helper_methods.rb +4 -0
- data/lib/hippo/api/root.rb +2 -1
- data/lib/hippo/command/app.rb +2 -2
- data/lib/hippo/db.rb +1 -2
- data/lib/hippo/extension.rb +1 -12
- data/lib/hippo/strings.rb +2 -0
- data/lib/hippo/version.rb +1 -1
- data/package.json +3 -1
- data/templates/.babelrc +1 -1
- data/templates/Gemfile +1 -1
- data/templates/config/webpack.config.js +58 -25
- data/views/hippo_root_view.erb +10 -9
- data/yarn.lock +99 -11
- metadata +8 -10
- data/command-reference-files/initial/views/index.erb +0 -72
- data/command-reference-files/screen/client/appy-app/extension.js +0 -32
- data/db/migrate/02_create_system_settings.rb +0 -11
- data/views/index.erb +0 -72
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82181b31b5579f88b13be87e7bbc04d6b51e4436
|
4
|
+
data.tar.gz: 62de1b88b1ba249ed360afd5d482b788471a89a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 687fc0c88df1d479e020340054d00233cbb6ce206d921ffa3c60de601ba86ba43be2c028f01f553d705a85192481e9fd8a8ee4b2250fdc74048af44f6c48197a
|
7
|
+
data.tar.gz: 599be4e27ad43bbcaf10e910f4dbe06173f626b23038941e09a9ac85c9ec6f28b370d2c060c0281eb1524d30fc8649c7efc91e21d0d96c64c78a092a4b9a5d23
|
data/bin/hippo
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
# For development while Hippo is evolving track master branch
|
4
|
-
gem "hippo", git: "https://github.com/argosity/hippo", branch: 'master'
|
4
|
+
gem "hippo-fw", git: "https://github.com/argosity/hippo", branch: 'master'
|
5
5
|
|
6
|
-
# gem "hippo", '0.9.
|
6
|
+
# gem "hippo", '0.9.3'
|
7
7
|
|
8
8
|
gem "rake"
|
9
9
|
gem 'puma'
|
@@ -1,26 +1,46 @@
|
|
1
|
-
const
|
1
|
+
const CompressionPlugin = require("compression-webpack-plugin");
|
2
2
|
const webpack = require('webpack');
|
3
3
|
const path = require('path');
|
4
4
|
|
5
|
+
const entries = {
|
6
|
+
app: [
|
7
|
+
'appy-app/index.js',
|
8
|
+
],
|
9
|
+
};
|
10
|
+
|
11
|
+
<% unless Hippo.env.production? -%>
|
12
|
+
for (var key in entries) {
|
13
|
+
entries[key].unshift('react-hot-loader/patch');
|
14
|
+
}
|
15
|
+
<% end -%>
|
16
|
+
|
5
17
|
const config = {
|
6
|
-
entry:
|
7
|
-
app: [
|
8
|
-
'react-hot-loader/patch',
|
9
|
-
'<%= "#{Hippo::Extensions.controlling.identifier}/index.js" %>',
|
10
|
-
],
|
11
|
-
},
|
18
|
+
entry: entries,
|
12
19
|
output: {
|
13
|
-
path:
|
14
|
-
publicPath: '/',
|
15
|
-
filename:
|
20
|
+
path: '<%= config_directory.join('..','public', 'assets') %>',
|
21
|
+
publicPath: '<%= Hippo.env.production? ? "https://assets.#{Hippo.config.website_domain}/assets/" : 'http://test.hippo.dev:8889/assets/' %>',
|
22
|
+
filename: '[name]-[hash].js',
|
16
23
|
},
|
17
24
|
resolve: {
|
18
|
-
modules:
|
25
|
+
modules: [
|
26
|
+
"<%= Hippo::Extensions.client_module_paths.join('","') %>",
|
27
|
+
"<%= generated_directory.to_s %>",
|
28
|
+
],
|
19
29
|
extensions: ['.js', '.jsx'],
|
20
30
|
},
|
21
31
|
module: {
|
22
32
|
rules: [
|
23
|
-
{
|
33
|
+
{
|
34
|
+
test: /\.css$/,
|
35
|
+
use: [ 'style-loader', 'css-loader' ]
|
36
|
+
},
|
37
|
+
{
|
38
|
+
test: /\.(jpg|png|svg)$/,
|
39
|
+
loader: 'url-loader',
|
40
|
+
options: {
|
41
|
+
limit: 25000,
|
42
|
+
},
|
43
|
+
},
|
24
44
|
{
|
25
45
|
loader: 'babel-loader',
|
26
46
|
test: /\.jsx?$/,
|
@@ -28,6 +48,7 @@ const config = {
|
|
28
48
|
options: {
|
29
49
|
plugins: [
|
30
50
|
'react-hot-loader/babel',
|
51
|
+
'babel-plugin-lodash',
|
31
52
|
'babel-plugin-transform-decorators-legacy',
|
32
53
|
'babel-plugin-transform-class-properties',
|
33
54
|
'babel-plugin-transform-function-bind',
|
@@ -45,6 +66,7 @@ const config = {
|
|
45
66
|
use: [
|
46
67
|
'style-loader',
|
47
68
|
'css-loader',
|
69
|
+
'resolve-url-loader',
|
48
70
|
{
|
49
71
|
loader: 'sass-loader',
|
50
72
|
options: {
|
@@ -57,17 +79,23 @@ const config = {
|
|
57
79
|
},
|
58
80
|
devtool: 'source-map',
|
59
81
|
plugins: [
|
60
|
-
new webpack.optimize.CommonsChunkPlugin({
|
61
|
-
name: 'vendor', minChunks: Infinity, filename: '[name].[hash].js',
|
62
|
-
}),
|
63
|
-
new HtmlWebpackPlugin({
|
64
|
-
filename: 'index.html',
|
65
|
-
template: '<%= directory.join('index.html') %>',
|
66
|
-
chunks: ['app'],
|
67
|
-
}),
|
68
82
|
new webpack.DefinePlugin({
|
69
83
|
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
|
70
84
|
}),
|
85
|
+
<% if Hippo.env.production? %>
|
86
|
+
new webpack.optimize.UglifyJsPlugin(), //minify everything
|
87
|
+
new webpack.optimize.AggressiveMergingPlugin(), //Merge chunks
|
88
|
+
new webpack.optimize.OccurrenceOrderPlugin(), // use smallest id for most used chuncks
|
89
|
+
new CompressionPlugin({
|
90
|
+
asset: "[path].gz[query]",
|
91
|
+
algorithm: "gzip",
|
92
|
+
test: /\.(js|html)$/,
|
93
|
+
threshold: 10240,
|
94
|
+
minRatio: 0.8
|
95
|
+
}),
|
96
|
+
<% else %>
|
97
|
+
new webpack.NamedModulesPlugin(),
|
98
|
+
<% end %>
|
71
99
|
],
|
72
100
|
node: {
|
73
101
|
fs: 'empty',
|
@@ -76,11 +104,16 @@ const config = {
|
|
76
104
|
hot: true,
|
77
105
|
inline: true,
|
78
106
|
port: 8889,
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
107
|
+
contentBase: './public',
|
108
|
+
historyApiFallback: {
|
109
|
+
index: '/assets/app.html'
|
110
|
+
},
|
111
|
+
headers: {
|
112
|
+
"Access-Control-Allow-Origin": "*",
|
113
|
+
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
|
114
|
+
"Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization"
|
115
|
+
},
|
116
|
+
disableHostCheck: true,
|
84
117
|
stats: {
|
85
118
|
colors: true,
|
86
119
|
profile: true,
|
File without changes
|
File without changes
|
data/config/routes.rb
CHANGED
File without changes
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class CreateAssets < ActiveRecord::Migration[5.0]
|
2
2
|
def change
|
3
|
-
create_table
|
4
|
-
t.
|
3
|
+
create_table :assets do |t|
|
4
|
+
t.references :tenant, null: false
|
5
5
|
t.references :owner, polymorphic: true, null: false
|
6
6
|
t.integer :order
|
7
7
|
t.jsonb :file_data, null: false, default: {}
|
@@ -1,11 +1,11 @@
|
|
1
1
|
class CreateUsers < ActiveRecord::Migration[5.0]
|
2
2
|
def change
|
3
|
-
create_table :users
|
4
|
-
t.
|
3
|
+
create_table :users do | t |
|
4
|
+
t.references :tenant, null: false
|
5
5
|
t.string :login, :name, :email, null: false
|
6
6
|
t.string :password_digest, null: false
|
7
|
-
t.string
|
8
|
-
t.jsonb
|
7
|
+
t.string :role_names, array: true, null:false, default: []
|
8
|
+
t.jsonb :options, null: false, default: {}
|
9
9
|
t.timestamps null:false
|
10
10
|
end
|
11
11
|
|
data/lib/hippo/api/root.rb
CHANGED
@@ -13,6 +13,7 @@ module Hippo::API
|
|
13
13
|
helpers RequestWrapper
|
14
14
|
helpers HelperMethods
|
15
15
|
helpers FormattedReply
|
16
|
+
|
16
17
|
use TenantDomainRouter
|
17
18
|
use Rack::Session::Cookie,
|
18
19
|
:key => 'rack.session',
|
@@ -33,7 +34,7 @@ module Hippo::API
|
|
33
34
|
set :show_exceptions, false
|
34
35
|
Hippo::Configuration.apply
|
35
36
|
Hippo::Extensions.load_controlling_config
|
36
|
-
set :views, Hippo::Extensions.
|
37
|
+
set :views, Hippo::Extensions.map{|ext| ext.root_path.join('views') }.reverse
|
37
38
|
set :webpack, Hippo::Webpack.new
|
38
39
|
webpack.start
|
39
40
|
require_relative './routing'
|
data/lib/hippo/command/app.rb
CHANGED
@@ -47,10 +47,10 @@ module Hippo
|
|
47
47
|
template "spec/client/setup.js"
|
48
48
|
template "spec/server/spec_helper.rb"
|
49
49
|
|
50
|
-
copy_file "../views/index.erb", "views/index.erb"
|
51
50
|
create_file "log/.gitkeep",""
|
51
|
+
create_file "views/.gitkeep",""
|
52
52
|
create_file "tmp/.gitkeep",""
|
53
|
-
create_file "db/.gitkeep",
|
53
|
+
create_file "db/migrate/.gitkeep",""
|
54
54
|
end
|
55
55
|
|
56
56
|
def create_client_files
|
data/lib/hippo/db.rb
CHANGED
@@ -23,10 +23,9 @@ module Hippo
|
|
23
23
|
|
24
24
|
def configure_rake_environment
|
25
25
|
ActiveRecord::Tasks::DatabaseTasks.seed_loader = Hippo::DB
|
26
|
-
default_schema = Extensions.controlling.root_path.join("db","schema.
|
26
|
+
default_schema = Extensions.controlling.root_path.join("db","schema.rb")
|
27
27
|
ENV['SCHEMA'] ||= default_schema.to_s
|
28
28
|
ENV['DB_STRUCTURE'] ||= default_schema.to_s
|
29
|
-
ActiveRecord::Base.schema_format = :sql
|
30
29
|
ActiveRecord::Base.dump_schema_after_migration = !Hippo.env.production?
|
31
30
|
Hippo::DB.establish_connection
|
32
31
|
ActiveRecord::Tasks::DatabaseTasks.database_configuration = ActiveRecord::Base.configurations
|
data/lib/hippo/extension.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
module Hippo
|
2
2
|
|
3
3
|
module Extensions
|
4
|
-
mattr_accessor :controlling_locked
|
5
4
|
|
6
5
|
ALL=Array.new
|
7
6
|
|
@@ -17,19 +16,9 @@ module Hippo
|
|
17
16
|
end
|
18
17
|
end
|
19
18
|
|
20
|
-
# # lock the current controlling extension so that it can't
|
21
|
-
# # be changed by other extensions that are loaded later
|
22
|
-
# def lock_controlling!
|
23
|
-
# self.controlling_locked=true
|
24
|
-
# end
|
25
|
-
|
26
19
|
def add(klass)
|
27
20
|
@cached_instances = nil
|
28
|
-
|
29
|
-
ALL.unshift(klass)
|
30
|
-
else
|
31
|
-
ALL << klass
|
32
|
-
end
|
21
|
+
ALL << klass
|
33
22
|
end
|
34
23
|
|
35
24
|
def all
|
data/lib/hippo/strings.rb
CHANGED
data/lib/hippo/version.rb
CHANGED
data/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "hippo-fw",
|
3
|
-
"version": "0.9.
|
3
|
+
"version": "0.9.2",
|
4
4
|
"description": "Hippo is a framework for easily writing single page web applications",
|
5
5
|
"main": "index.js",
|
6
6
|
"repository": "https://github.com/argosity/hippo",
|
@@ -20,6 +20,7 @@
|
|
20
20
|
"babel-plugin-transform-flow-strip-types": "^6.22.0",
|
21
21
|
"babel-plugin-transform-function-bind": "^6.22.0",
|
22
22
|
"babel-plugin-transform-runtime": "^6.15.0",
|
23
|
+
"babel-preset-env": "^1.5.1",
|
23
24
|
"babel-preset-es2015-loose": "^8.0.0",
|
24
25
|
"babel-preset-latest": "^6.16.0",
|
25
26
|
"babel-preset-react": "^6.16.0",
|
@@ -27,6 +28,7 @@
|
|
27
28
|
"babel-preset-stage-1": "^6.16.0",
|
28
29
|
"big.js": "^3.1.3",
|
29
30
|
"classnames": "^2.2.5",
|
31
|
+
"compression-webpack-plugin": "^0.4.0",
|
30
32
|
"core-decorators": "^0.17.0",
|
31
33
|
"css-loader": "^0.26.1",
|
32
34
|
"date-fns": "^1.28.2",
|
data/templates/.babelrc
CHANGED
data/templates/Gemfile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
# For development while Hippo is evolving track master branch
|
4
|
-
gem "hippo", git: "https://github.com/argosity/hippo", branch: 'master'
|
4
|
+
gem "hippo-fw", git: "https://github.com/argosity/hippo", branch: 'master'
|
5
5
|
|
6
6
|
# gem "hippo", '<%= Hippo::VERSION %>'
|
7
7
|
|
@@ -1,26 +1,46 @@
|
|
1
|
-
const
|
1
|
+
const CompressionPlugin = require("compression-webpack-plugin");
|
2
2
|
const webpack = require('webpack');
|
3
3
|
const path = require('path');
|
4
4
|
|
5
|
+
const entries = {
|
6
|
+
app: [
|
7
|
+
'<%= identifier %>/index.js',
|
8
|
+
],
|
9
|
+
};
|
10
|
+
|
11
|
+
<%% unless Hippo.env.production? -%>
|
12
|
+
for (var key in entries) {
|
13
|
+
entries[key].unshift('react-hot-loader/patch');
|
14
|
+
}
|
15
|
+
<%% end -%>
|
16
|
+
|
5
17
|
const config = {
|
6
|
-
entry:
|
7
|
-
app: [
|
8
|
-
'react-hot-loader/patch',
|
9
|
-
'<%%= "#{Hippo::Extensions.controlling.identifier}/index.js" %>',
|
10
|
-
],
|
11
|
-
},
|
18
|
+
entry: entries,
|
12
19
|
output: {
|
13
|
-
path:
|
14
|
-
publicPath: '/',
|
15
|
-
filename:
|
20
|
+
path: '<%%= config_directory.join('..','public', 'assets') %>',
|
21
|
+
publicPath: '<%%= Hippo.env.production? ? "https://assets.#{Hippo.config.website_domain}/assets/" : 'http://test.hippo.dev:8889/assets/' %>',
|
22
|
+
filename: '[name]-[hash].js',
|
16
23
|
},
|
17
24
|
resolve: {
|
18
|
-
modules:
|
25
|
+
modules: [
|
26
|
+
"<%%= Hippo::Extensions.client_module_paths.join('","') %>",
|
27
|
+
"<%%= generated_directory.to_s %>",
|
28
|
+
],
|
19
29
|
extensions: ['.js', '.jsx'],
|
20
30
|
},
|
21
31
|
module: {
|
22
32
|
rules: [
|
23
|
-
{
|
33
|
+
{
|
34
|
+
test: /\.css$/,
|
35
|
+
use: [ 'style-loader', 'css-loader' ]
|
36
|
+
},
|
37
|
+
{
|
38
|
+
test: /\.(jpg|png|svg)$/,
|
39
|
+
loader: 'url-loader',
|
40
|
+
options: {
|
41
|
+
limit: 25000,
|
42
|
+
},
|
43
|
+
},
|
24
44
|
{
|
25
45
|
loader: 'babel-loader',
|
26
46
|
test: /\.jsx?$/,
|
@@ -28,6 +48,7 @@ const config = {
|
|
28
48
|
options: {
|
29
49
|
plugins: [
|
30
50
|
'react-hot-loader/babel',
|
51
|
+
'babel-plugin-lodash',
|
31
52
|
'babel-plugin-transform-decorators-legacy',
|
32
53
|
'babel-plugin-transform-class-properties',
|
33
54
|
'babel-plugin-transform-function-bind',
|
@@ -45,6 +66,7 @@ const config = {
|
|
45
66
|
use: [
|
46
67
|
'style-loader',
|
47
68
|
'css-loader',
|
69
|
+
'resolve-url-loader',
|
48
70
|
{
|
49
71
|
loader: 'sass-loader',
|
50
72
|
options: {
|
@@ -57,17 +79,23 @@ const config = {
|
|
57
79
|
},
|
58
80
|
devtool: 'source-map',
|
59
81
|
plugins: [
|
60
|
-
new webpack.optimize.CommonsChunkPlugin({
|
61
|
-
name: 'vendor', minChunks: Infinity, filename: '[name].[hash].js',
|
62
|
-
}),
|
63
|
-
new HtmlWebpackPlugin({
|
64
|
-
filename: 'index.html',
|
65
|
-
template: '<%%= directory.join('index.html') %>',
|
66
|
-
chunks: ['app'],
|
67
|
-
}),
|
68
82
|
new webpack.DefinePlugin({
|
69
83
|
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
|
70
84
|
}),
|
85
|
+
<%% if Hippo.env.production? %>
|
86
|
+
new webpack.optimize.UglifyJsPlugin(), //minify everything
|
87
|
+
new webpack.optimize.AggressiveMergingPlugin(), //Merge chunks
|
88
|
+
new webpack.optimize.OccurrenceOrderPlugin(), // use smallest id for most used chuncks
|
89
|
+
new CompressionPlugin({
|
90
|
+
asset: "[path].gz[query]",
|
91
|
+
algorithm: "gzip",
|
92
|
+
test: /\.(js|html)$/,
|
93
|
+
threshold: 10240,
|
94
|
+
minRatio: 0.8
|
95
|
+
}),
|
96
|
+
<%% else %>
|
97
|
+
new webpack.NamedModulesPlugin(),
|
98
|
+
<%% end %>
|
71
99
|
],
|
72
100
|
node: {
|
73
101
|
fs: 'empty',
|
@@ -76,11 +104,16 @@ const config = {
|
|
76
104
|
hot: true,
|
77
105
|
inline: true,
|
78
106
|
port: 8889,
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
107
|
+
contentBase: './public',
|
108
|
+
historyApiFallback: {
|
109
|
+
index: '/assets/app.html'
|
110
|
+
},
|
111
|
+
headers: {
|
112
|
+
"Access-Control-Allow-Origin": "*",
|
113
|
+
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
|
114
|
+
"Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization"
|
115
|
+
},
|
116
|
+
disableHostCheck: true,
|
84
117
|
stats: {
|
85
118
|
colors: true,
|
86
119
|
profile: true,
|
data/views/hippo_root_view.erb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
<meta charset="utf-8">
|
5
5
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"/>
|
7
|
-
<title><%=
|
7
|
+
<title><%= Hippo::Extensions.controlling.title %></title>
|
8
8
|
<style>
|
9
9
|
.loading {
|
10
10
|
position: fixed;
|
@@ -23,7 +23,6 @@
|
|
23
23
|
border: 0;
|
24
24
|
transition: opacity .5s ease-in-out;
|
25
25
|
}
|
26
|
-
|
27
26
|
.loading:before {
|
28
27
|
content: '';
|
29
28
|
display: block;
|
@@ -34,7 +33,6 @@
|
|
34
33
|
height: 100%;
|
35
34
|
background-color: rgba(0,0,0,0.3);
|
36
35
|
}
|
37
|
-
|
38
36
|
.loading:after {
|
39
37
|
content: '';
|
40
38
|
display: block;
|
@@ -56,13 +54,16 @@
|
|
56
54
|
opacity: 0;
|
57
55
|
}
|
58
56
|
</style>
|
59
|
-
<%= hippo_stylesheet_tags %>
|
60
57
|
</head>
|
61
|
-
|
62
58
|
<body>
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
59
|
+
<div class="loading">Loading…</div>
|
60
|
+
<div id="hippo-root">
|
61
|
+
<script type="text/json" id="bootstrap-data">
|
62
|
+
<%= Hippo::API.to_json(
|
63
|
+
Hippo::Extensions.client_bootstrap_data
|
64
|
+
) %>
|
65
|
+
</script>
|
66
|
+
</div>
|
67
|
+
<%= javascript_tags :app %>
|
67
68
|
</body>
|
68
69
|
</html>
|
data/yarn.lock
CHANGED
@@ -221,6 +221,10 @@ async-foreach@^0.1.3:
|
|
221
221
|
version "0.1.3"
|
222
222
|
resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
|
223
223
|
|
224
|
+
async@0.2.x:
|
225
|
+
version "0.2.10"
|
226
|
+
resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
|
227
|
+
|
224
228
|
async@^1.4.0, async@^1.5.2:
|
225
229
|
version "1.5.2"
|
226
230
|
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
|
@@ -634,7 +638,7 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
|
|
634
638
|
dependencies:
|
635
639
|
babel-runtime "^6.22.0"
|
636
640
|
|
637
|
-
babel-plugin-transform-es2015-block-scoping@^6.22.0:
|
641
|
+
babel-plugin-transform-es2015-block-scoping@^6.22.0, babel-plugin-transform-es2015-block-scoping@^6.23.0:
|
638
642
|
version "6.23.0"
|
639
643
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz#e48895cf0b375be148cd7c8879b422707a053b51"
|
640
644
|
dependencies:
|
@@ -644,7 +648,7 @@ babel-plugin-transform-es2015-block-scoping@^6.22.0:
|
|
644
648
|
babel-types "^6.23.0"
|
645
649
|
lodash "^4.2.0"
|
646
650
|
|
647
|
-
babel-plugin-transform-es2015-classes@^6.22.0:
|
651
|
+
babel-plugin-transform-es2015-classes@^6.22.0, babel-plugin-transform-es2015-classes@^6.23.0:
|
648
652
|
version "6.23.0"
|
649
653
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz#49b53f326202a2fd1b3bbaa5e2edd8a4f78643c1"
|
650
654
|
dependencies:
|
@@ -665,7 +669,7 @@ babel-plugin-transform-es2015-computed-properties@^6.22.0:
|
|
665
669
|
babel-runtime "^6.22.0"
|
666
670
|
babel-template "^6.22.0"
|
667
671
|
|
668
|
-
babel-plugin-transform-es2015-destructuring@^6.22.0:
|
672
|
+
babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0:
|
669
673
|
version "6.23.0"
|
670
674
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
|
671
675
|
dependencies:
|
@@ -678,7 +682,7 @@ babel-plugin-transform-es2015-duplicate-keys@^6.22.0:
|
|
678
682
|
babel-runtime "^6.22.0"
|
679
683
|
babel-types "^6.22.0"
|
680
684
|
|
681
|
-
babel-plugin-transform-es2015-for-of@^6.22.0:
|
685
|
+
babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0:
|
682
686
|
version "6.23.0"
|
683
687
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
|
684
688
|
dependencies:
|
@@ -698,7 +702,7 @@ babel-plugin-transform-es2015-literals@^6.22.0:
|
|
698
702
|
dependencies:
|
699
703
|
babel-runtime "^6.22.0"
|
700
704
|
|
701
|
-
babel-plugin-transform-es2015-modules-amd@^6.24.0:
|
705
|
+
babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.0:
|
702
706
|
version "6.24.0"
|
703
707
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.0.tgz#a1911fb9b7ec7e05a43a63c5995007557bcf6a2e"
|
704
708
|
dependencies:
|
@@ -715,7 +719,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-e
|
|
715
719
|
babel-template "^6.23.0"
|
716
720
|
babel-types "^6.23.0"
|
717
721
|
|
718
|
-
babel-plugin-transform-es2015-modules-systemjs@^6.22.0:
|
722
|
+
babel-plugin-transform-es2015-modules-systemjs@^6.22.0, babel-plugin-transform-es2015-modules-systemjs@^6.23.0:
|
719
723
|
version "6.23.0"
|
720
724
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz#ae3469227ffac39b0310d90fec73bfdc4f6317b0"
|
721
725
|
dependencies:
|
@@ -723,7 +727,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.22.0:
|
|
723
727
|
babel-runtime "^6.22.0"
|
724
728
|
babel-template "^6.23.0"
|
725
729
|
|
726
|
-
babel-plugin-transform-es2015-modules-umd@^6.24.0:
|
730
|
+
babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.0:
|
727
731
|
version "6.24.0"
|
728
732
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.0.tgz#fd5fa63521cae8d273927c3958afd7c067733450"
|
729
733
|
dependencies:
|
@@ -738,7 +742,7 @@ babel-plugin-transform-es2015-object-super@^6.22.0:
|
|
738
742
|
babel-helper-replace-supers "^6.22.0"
|
739
743
|
babel-runtime "^6.22.0"
|
740
744
|
|
741
|
-
babel-plugin-transform-es2015-parameters@^6.22.0:
|
745
|
+
babel-plugin-transform-es2015-parameters@^6.22.0, babel-plugin-transform-es2015-parameters@^6.23.0:
|
742
746
|
version "6.23.0"
|
743
747
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz#3a2aabb70c8af945d5ce386f1a4250625a83ae3b"
|
744
748
|
dependencies:
|
@@ -776,7 +780,7 @@ babel-plugin-transform-es2015-template-literals@^6.22.0:
|
|
776
780
|
dependencies:
|
777
781
|
babel-runtime "^6.22.0"
|
778
782
|
|
779
|
-
babel-plugin-transform-es2015-typeof-symbol@^6.22.0:
|
783
|
+
babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0:
|
780
784
|
version "6.23.0"
|
781
785
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
|
782
786
|
dependencies:
|
@@ -873,6 +877,41 @@ babel-plugin-transform-strict-mode@^6.22.0:
|
|
873
877
|
babel-runtime "^6.22.0"
|
874
878
|
babel-types "^6.22.0"
|
875
879
|
|
880
|
+
babel-preset-env@^1.5.1:
|
881
|
+
version "1.5.1"
|
882
|
+
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.1.tgz#d2eca6af179edf27cdc305a84820f601b456dd0b"
|
883
|
+
dependencies:
|
884
|
+
babel-plugin-check-es2015-constants "^6.22.0"
|
885
|
+
babel-plugin-syntax-trailing-function-commas "^6.22.0"
|
886
|
+
babel-plugin-transform-async-to-generator "^6.22.0"
|
887
|
+
babel-plugin-transform-es2015-arrow-functions "^6.22.0"
|
888
|
+
babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
|
889
|
+
babel-plugin-transform-es2015-block-scoping "^6.23.0"
|
890
|
+
babel-plugin-transform-es2015-classes "^6.23.0"
|
891
|
+
babel-plugin-transform-es2015-computed-properties "^6.22.0"
|
892
|
+
babel-plugin-transform-es2015-destructuring "^6.23.0"
|
893
|
+
babel-plugin-transform-es2015-duplicate-keys "^6.22.0"
|
894
|
+
babel-plugin-transform-es2015-for-of "^6.23.0"
|
895
|
+
babel-plugin-transform-es2015-function-name "^6.22.0"
|
896
|
+
babel-plugin-transform-es2015-literals "^6.22.0"
|
897
|
+
babel-plugin-transform-es2015-modules-amd "^6.22.0"
|
898
|
+
babel-plugin-transform-es2015-modules-commonjs "^6.23.0"
|
899
|
+
babel-plugin-transform-es2015-modules-systemjs "^6.23.0"
|
900
|
+
babel-plugin-transform-es2015-modules-umd "^6.23.0"
|
901
|
+
babel-plugin-transform-es2015-object-super "^6.22.0"
|
902
|
+
babel-plugin-transform-es2015-parameters "^6.23.0"
|
903
|
+
babel-plugin-transform-es2015-shorthand-properties "^6.22.0"
|
904
|
+
babel-plugin-transform-es2015-spread "^6.22.0"
|
905
|
+
babel-plugin-transform-es2015-sticky-regex "^6.22.0"
|
906
|
+
babel-plugin-transform-es2015-template-literals "^6.22.0"
|
907
|
+
babel-plugin-transform-es2015-typeof-symbol "^6.23.0"
|
908
|
+
babel-plugin-transform-es2015-unicode-regex "^6.22.0"
|
909
|
+
babel-plugin-transform-exponentiation-operator "^6.22.0"
|
910
|
+
babel-plugin-transform-regenerator "^6.22.0"
|
911
|
+
browserslist "^2.1.2"
|
912
|
+
invariant "^2.2.2"
|
913
|
+
semver "^5.3.0"
|
914
|
+
|
876
915
|
babel-preset-es2015-loose@^8.0.0:
|
877
916
|
version "8.0.0"
|
878
917
|
resolved "https://registry.yarnpkg.com/babel-preset-es2015-loose/-/babel-preset-es2015-loose-8.0.0.tgz#82ee293ab31329c7a94686b644b62adfbcdc3f57"
|
@@ -1186,6 +1225,13 @@ browserslist@^1.0.1, browserslist@^1.5.2, browserslist@^1.7.6:
|
|
1186
1225
|
caniuse-db "^1.0.30000639"
|
1187
1226
|
electron-to-chromium "^1.2.7"
|
1188
1227
|
|
1228
|
+
browserslist@^2.1.2:
|
1229
|
+
version "2.1.4"
|
1230
|
+
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.1.4.tgz#cc526af4a1312b7d2e05653e56d0c8ab70c0e053"
|
1231
|
+
dependencies:
|
1232
|
+
caniuse-lite "^1.0.30000670"
|
1233
|
+
electron-to-chromium "^1.3.11"
|
1234
|
+
|
1189
1235
|
bser@1.0.2:
|
1190
1236
|
version "1.0.2"
|
1191
1237
|
resolved "https://registry.yarnpkg.com/bser/-/bser-1.0.2.tgz#381116970b2a6deea5646dd15dd7278444b56169"
|
@@ -1272,6 +1318,10 @@ caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
|
|
1272
1318
|
version "1.0.30000646"
|
1273
1319
|
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000646.tgz#c724b90d61df24286e015fc528d062073c00def4"
|
1274
1320
|
|
1321
|
+
caniuse-lite@^1.0.30000670:
|
1322
|
+
version "1.0.30000676"
|
1323
|
+
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000676.tgz#1e962123f48073f0c51c4ea0651dd64d25786498"
|
1324
|
+
|
1275
1325
|
caseless@~0.12.0:
|
1276
1326
|
version "0.12.0"
|
1277
1327
|
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
|
@@ -1455,6 +1505,12 @@ combined-stream@^1.0.5, combined-stream@~1.0.5:
|
|
1455
1505
|
dependencies:
|
1456
1506
|
delayed-stream "~1.0.0"
|
1457
1507
|
|
1508
|
+
commander@^2.8.1:
|
1509
|
+
version "2.9.0"
|
1510
|
+
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
|
1511
|
+
dependencies:
|
1512
|
+
graceful-readlink ">= 1.0.0"
|
1513
|
+
|
1458
1514
|
commondir@^1.0.1:
|
1459
1515
|
version "1.0.1"
|
1460
1516
|
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
|
@@ -1469,6 +1525,15 @@ compressible@~2.0.8:
|
|
1469
1525
|
dependencies:
|
1470
1526
|
mime-db ">= 1.27.0 < 2"
|
1471
1527
|
|
1528
|
+
compression-webpack-plugin@^0.4.0:
|
1529
|
+
version "0.4.0"
|
1530
|
+
resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-0.4.0.tgz#811de04215f811ea6a12d4d8aed8457d758f13ac"
|
1531
|
+
dependencies:
|
1532
|
+
async "0.2.x"
|
1533
|
+
webpack-sources "^0.1.0"
|
1534
|
+
optionalDependencies:
|
1535
|
+
node-zopfli "^2.0.0"
|
1536
|
+
|
1472
1537
|
compression@^1.5.2:
|
1473
1538
|
version "1.6.2"
|
1474
1539
|
resolved "https://registry.yarnpkg.com/compression/-/compression-1.6.2.tgz#cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3"
|
@@ -1795,6 +1860,12 @@ default-require-extensions@^1.0.0:
|
|
1795
1860
|
dependencies:
|
1796
1861
|
strip-bom "^2.0.0"
|
1797
1862
|
|
1863
|
+
defaults@^1.0.2:
|
1864
|
+
version "1.0.3"
|
1865
|
+
resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
|
1866
|
+
dependencies:
|
1867
|
+
clone "^1.0.2"
|
1868
|
+
|
1798
1869
|
define-properties@^1.1.2:
|
1799
1870
|
version "1.1.2"
|
1800
1871
|
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
|
@@ -1931,6 +2002,10 @@ electron-to-chromium@^1.2.7:
|
|
1931
2002
|
version "1.3.2"
|
1932
2003
|
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.2.tgz#b8ce5c93b308db0e92f6d0435c46ddec8f6363ab"
|
1933
2004
|
|
2005
|
+
electron-to-chromium@^1.3.11:
|
2006
|
+
version "1.3.13"
|
2007
|
+
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.13.tgz#1b3a5eace6e087bb5e257a100b0cbfe81b2891fc"
|
2008
|
+
|
1934
2009
|
elliptic@^6.0.0:
|
1935
2010
|
version "6.4.0"
|
1936
2011
|
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
|
@@ -2692,6 +2767,10 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6:
|
|
2692
2767
|
version "4.1.11"
|
2693
2768
|
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
|
2694
2769
|
|
2770
|
+
"graceful-readlink@>= 1.0.0":
|
2771
|
+
version "1.0.1"
|
2772
|
+
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
|
2773
|
+
|
2695
2774
|
grommet@^1.4.0:
|
2696
2775
|
version "1.4.0"
|
2697
2776
|
resolved "https://registry.yarnpkg.com/grommet/-/grommet-1.4.0.tgz#6ff556ab2df82a34186bac8eee0b60b1d5c0d1b5"
|
@@ -4145,7 +4224,7 @@ mute-stream@0.0.5:
|
|
4145
4224
|
version "0.0.5"
|
4146
4225
|
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
|
4147
4226
|
|
4148
|
-
nan@^2.3.0, nan@^2.3.2:
|
4227
|
+
nan@^2.0.0, nan@^2.3.0, nan@^2.3.2:
|
4149
4228
|
version "2.5.1"
|
4150
4229
|
resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2"
|
4151
4230
|
|
@@ -4223,7 +4302,7 @@ node-notifier@^5.0.1:
|
|
4223
4302
|
shellwords "^0.1.0"
|
4224
4303
|
which "^1.2.12"
|
4225
4304
|
|
4226
|
-
node-pre-gyp@^0.6.29:
|
4305
|
+
node-pre-gyp@^0.6.29, node-pre-gyp@^0.6.4:
|
4227
4306
|
version "0.6.34"
|
4228
4307
|
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7"
|
4229
4308
|
dependencies:
|
@@ -4260,6 +4339,15 @@ node-sass@^4.5.0:
|
|
4260
4339
|
sass-graph "^2.1.1"
|
4261
4340
|
stdout-stream "^1.4.0"
|
4262
4341
|
|
4342
|
+
node-zopfli@^2.0.0:
|
4343
|
+
version "2.0.2"
|
4344
|
+
resolved "https://registry.yarnpkg.com/node-zopfli/-/node-zopfli-2.0.2.tgz#a7a473ae92aaea85d4c68d45bbf2c944c46116b8"
|
4345
|
+
dependencies:
|
4346
|
+
commander "^2.8.1"
|
4347
|
+
defaults "^1.0.2"
|
4348
|
+
nan "^2.0.0"
|
4349
|
+
node-pre-gyp "^0.6.4"
|
4350
|
+
|
4263
4351
|
"nopt@2 || 3":
|
4264
4352
|
version "3.0.6"
|
4265
4353
|
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hippo-fw
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Stitt
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activejob
|
@@ -863,7 +863,7 @@ files:
|
|
863
863
|
- command-reference-files/initial/config/routes.rb
|
864
864
|
- command-reference-files/initial/config/screens.rb
|
865
865
|
- command-reference-files/initial/config/webpack.config.js
|
866
|
-
- command-reference-files/initial/db/.gitkeep
|
866
|
+
- command-reference-files/initial/db/migrate/.gitkeep
|
867
867
|
- command-reference-files/initial/lib/appy-app.rb
|
868
868
|
- command-reference-files/initial/lib/appy-app/extension.rb
|
869
869
|
- command-reference-files/initial/lib/appy-app/model.rb
|
@@ -874,7 +874,7 @@ files:
|
|
874
874
|
- command-reference-files/initial/spec/client/setup.js
|
875
875
|
- command-reference-files/initial/spec/server/spec_helper.rb
|
876
876
|
- command-reference-files/initial/tmp/.gitkeep
|
877
|
-
- command-reference-files/initial/views
|
877
|
+
- command-reference-files/initial/views/.gitkeep
|
878
878
|
- command-reference-files/model/client/appy-app/models/test_test.js
|
879
879
|
- command-reference-files/model/config/routes.rb
|
880
880
|
- command-reference-files/model/db/migrate/20150218032025_create_test_tests.rb
|
@@ -883,7 +883,6 @@ files:
|
|
883
883
|
- command-reference-files/model/spec/client/models/test_test.spec.js
|
884
884
|
- command-reference-files/model/spec/fixtures/appy-app/test_test.yml
|
885
885
|
- command-reference-files/model/spec/server/test_test_spec.rb
|
886
|
-
- command-reference-files/screen/client/appy-app/extension.js
|
887
886
|
- command-reference-files/screen/client/appy-app/screens/ready-set-go.jsx
|
888
887
|
- command-reference-files/screen/config/screens.rb
|
889
888
|
- command-reference-files/screen/spec/client/screens/ready-set-go.spec.jsx
|
@@ -896,10 +895,10 @@ files:
|
|
896
895
|
- config/routes.rb
|
897
896
|
- config/screens.rb
|
898
897
|
- config/webpack.config.js
|
899
|
-
- db/migrate/
|
900
|
-
- db/migrate/
|
901
|
-
- db/migrate/
|
902
|
-
- db/migrate/
|
898
|
+
- db/migrate/20170530120001_create_tenants.rb
|
899
|
+
- db/migrate/20170530120002_create_system_settings.rb
|
900
|
+
- db/migrate/20170530120003_create_assets.rb
|
901
|
+
- db/migrate/20170530120004_create_users.rb
|
903
902
|
- db/seed.rb
|
904
903
|
- docs/command.md
|
905
904
|
- docs/model.md
|
@@ -1166,7 +1165,6 @@ files:
|
|
1166
1165
|
- templates/spec/server/spec_helper.rb
|
1167
1166
|
- test.js
|
1168
1167
|
- views/hippo_root_view.erb
|
1169
|
-
- views/index.erb
|
1170
1168
|
- yard_ext/all.rb
|
1171
1169
|
- yard_ext/code_identifier_handler.rb
|
1172
1170
|
- yard_ext/concern_meta_methods.rb
|
@@ -1,72 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="utf-8">
|
5
|
-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"/>
|
7
|
-
<title><%= Hippo::Extensions.controlling.title %></title>
|
8
|
-
<style>
|
9
|
-
.loading {
|
10
|
-
position: fixed;
|
11
|
-
z-index: 999;
|
12
|
-
height: 2em;
|
13
|
-
width: 2em;
|
14
|
-
overflow: show;
|
15
|
-
margin: auto;
|
16
|
-
top: 0;
|
17
|
-
left: 0;
|
18
|
-
bottom: 0;
|
19
|
-
right: 0;
|
20
|
-
font-size: 2.8rem;
|
21
|
-
text-shadow: none;
|
22
|
-
background-color: transparent;
|
23
|
-
border: 0;
|
24
|
-
transition: opacity .5s ease-in-out;
|
25
|
-
}
|
26
|
-
|
27
|
-
.loading:before {
|
28
|
-
content: '';
|
29
|
-
display: block;
|
30
|
-
position: fixed;
|
31
|
-
top: 0;
|
32
|
-
left: 0;
|
33
|
-
width: 100%;
|
34
|
-
height: 100%;
|
35
|
-
background-color: rgba(0,0,0,0.3);
|
36
|
-
}
|
37
|
-
|
38
|
-
.loading:after {
|
39
|
-
content: '';
|
40
|
-
display: block;
|
41
|
-
font-size: 10px;
|
42
|
-
width: 1em;
|
43
|
-
height: 1em;
|
44
|
-
margin-top: -3em;
|
45
|
-
margin-left: -3em;
|
46
|
-
animation: spinner 1500ms infinite linear;
|
47
|
-
border-radius: 0.5em;
|
48
|
-
box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
|
49
|
-
}
|
50
|
-
|
51
|
-
@keyframes spinner {
|
52
|
-
0% { transform: rotate(0deg); }
|
53
|
-
100% { transform: rotate(360deg); }
|
54
|
-
}
|
55
|
-
.loading.complete {
|
56
|
-
opacity: 0;
|
57
|
-
}
|
58
|
-
</style>
|
59
|
-
</head>
|
60
|
-
|
61
|
-
<body>
|
62
|
-
<div class="loading">Loading…</div>
|
63
|
-
<div id="hippo-root">
|
64
|
-
<script type="text/json" id="bootstrap-data">
|
65
|
-
<%= Hippo::API.to_json(
|
66
|
-
Hippo::Extensions.client_bootstrap_data
|
67
|
-
) %>
|
68
|
-
</script>
|
69
|
-
<%= javascript_tags :hippo %>
|
70
|
-
</div>
|
71
|
-
</body>
|
72
|
-
</html>
|
@@ -1,32 +0,0 @@
|
|
1
|
-
import {
|
2
|
-
BaseExtension, identifiedBy, identifier,
|
3
|
-
} from 'hippo/extensions/base';
|
4
|
-
|
5
|
-
@identifiedBy('extensions/appy-app')
|
6
|
-
export default class Extension extends BaseExtension {
|
7
|
-
|
8
|
-
// must match the server-side identier in config/screens.rb
|
9
|
-
// and lib/appy-app/extension.rb
|
10
|
-
@identifier id = 'appy-app';
|
11
|
-
|
12
|
-
// This method is called when the extension is registered
|
13
|
-
// Not all of Hippo will be available yet
|
14
|
-
onRegistered() { }
|
15
|
-
|
16
|
-
// This method is called after Hippo is completly loaded
|
17
|
-
// and all extensions are registered
|
18
|
-
onInitialized() { }
|
19
|
-
|
20
|
-
// All extenensions have been given their data and Hippo has completed startup
|
21
|
-
onAvailable() { }
|
22
|
-
|
23
|
-
// Data that is provided by AppyApp::Extension#client_bootstrap_data
|
24
|
-
// in lib/appy-app/extension.rb is passed to this method
|
25
|
-
// the Base class will simply store the provided data as @data
|
26
|
-
setBootstrapData() { return super.setBootstrapData(...arguments); }
|
27
|
-
|
28
|
-
// A React component that should be rendered as part of the settings screen
|
29
|
-
get systemSettingsComponent() {
|
30
|
-
return null;
|
31
|
-
}
|
32
|
-
}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
class CreateSystemSettings < ActiveRecord::Migration[5.0]
|
2
|
-
def change
|
3
|
-
|
4
|
-
create_table "system_settings", partition_key: :tenant_id do |t|
|
5
|
-
t.integer :tenant_id, null: false
|
6
|
-
t.integer :configuration_id
|
7
|
-
t.jsonb "settings", null: false, default: {}
|
8
|
-
end
|
9
|
-
|
10
|
-
end
|
11
|
-
end
|
data/views/index.erb
DELETED
@@ -1,72 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="utf-8">
|
5
|
-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"/>
|
7
|
-
<title><%= Hippo::Extensions.controlling.title %></title>
|
8
|
-
<style>
|
9
|
-
.loading {
|
10
|
-
position: fixed;
|
11
|
-
z-index: 999;
|
12
|
-
height: 2em;
|
13
|
-
width: 2em;
|
14
|
-
overflow: show;
|
15
|
-
margin: auto;
|
16
|
-
top: 0;
|
17
|
-
left: 0;
|
18
|
-
bottom: 0;
|
19
|
-
right: 0;
|
20
|
-
font-size: 2.8rem;
|
21
|
-
text-shadow: none;
|
22
|
-
background-color: transparent;
|
23
|
-
border: 0;
|
24
|
-
transition: opacity .5s ease-in-out;
|
25
|
-
}
|
26
|
-
|
27
|
-
.loading:before {
|
28
|
-
content: '';
|
29
|
-
display: block;
|
30
|
-
position: fixed;
|
31
|
-
top: 0;
|
32
|
-
left: 0;
|
33
|
-
width: 100%;
|
34
|
-
height: 100%;
|
35
|
-
background-color: rgba(0,0,0,0.3);
|
36
|
-
}
|
37
|
-
|
38
|
-
.loading:after {
|
39
|
-
content: '';
|
40
|
-
display: block;
|
41
|
-
font-size: 10px;
|
42
|
-
width: 1em;
|
43
|
-
height: 1em;
|
44
|
-
margin-top: -3em;
|
45
|
-
margin-left: -3em;
|
46
|
-
animation: spinner 1500ms infinite linear;
|
47
|
-
border-radius: 0.5em;
|
48
|
-
box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
|
49
|
-
}
|
50
|
-
|
51
|
-
@keyframes spinner {
|
52
|
-
0% { transform: rotate(0deg); }
|
53
|
-
100% { transform: rotate(360deg); }
|
54
|
-
}
|
55
|
-
.loading.complete {
|
56
|
-
opacity: 0;
|
57
|
-
}
|
58
|
-
</style>
|
59
|
-
</head>
|
60
|
-
|
61
|
-
<body>
|
62
|
-
<div class="loading">Loading…</div>
|
63
|
-
<div id="hippo-root">
|
64
|
-
<script type="text/json" id="bootstrap-data">
|
65
|
-
<%= Hippo::API.to_json(
|
66
|
-
Hippo::Extensions.client_bootstrap_data
|
67
|
-
) %>
|
68
|
-
</script>
|
69
|
-
<%= javascript_tags :hippo %>
|
70
|
-
</div>
|
71
|
-
</body>
|
72
|
-
</html>
|