hippo-fw 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|