hippo-fw 0.9.4 → 0.9.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +2 -3
- data/Gemfile +1 -1
- data/client/hippo/__mocks__/config.js +4 -4
- data/client/hippo/boot.jsx +1 -0
- data/client/hippo/components/asset.jsx +4 -4
- data/client/hippo/components/date-time.jsx +169 -0
- data/client/hippo/components/date-time.scss +38 -0
- data/client/hippo/components/date-time/calendar.jsx +115 -0
- data/client/hippo/components/date-time/date-time-drop.jsx +77 -0
- data/client/hippo/components/date-time/date-time.scss +157 -0
- data/client/hippo/components/date-time/time.jsx +120 -0
- data/client/hippo/components/form/fields/date-wrapper.jsx +4 -3
- data/client/hippo/components/form/model.js +0 -2
- data/client/hippo/components/text-editor.jsx +85 -0
- data/client/hippo/components/text-editor/display-modes/Button.jsx +17 -0
- data/client/hippo/components/text-editor/display-modes/SaveState.jsx +17 -0
- data/client/hippo/components/text-editor/display-modes/ToggleEdit.jsx +22 -0
- data/client/hippo/components/text-editor/display-modes/ToggleInsert.jsx +21 -0
- data/client/hippo/components/text-editor/display-modes/ToggleLayout.jsx +21 -0
- data/client/hippo/components/text-editor/display-modes/TogglePreview.jsx +21 -0
- data/client/hippo/components/text-editor/display-modes/ToggleResize.jsx +21 -0
- data/client/hippo/components/text-editor/display-modes/index.css +0 -0
- data/client/hippo/components/text-editor/display-modes/index.js +30 -0
- data/client/hippo/components/text-editor/image-plugin/Component/Display/index.js +80 -0
- data/client/hippo/components/text-editor/image-plugin/Component/Form/index.js +40 -0
- data/client/hippo/components/text-editor/image-plugin/Component/index.js +16 -0
- data/client/hippo/components/text-editor/image-plugin/Component/index.scss +0 -0
- data/client/hippo/components/text-editor/image-plugin/index.js +32 -0
- data/client/hippo/components/text-editor/image-plugin/index.scss +25 -0
- data/client/hippo/components/text-editor/plugins.js +22 -0
- data/client/hippo/components/text-editor/renderer.jsx +37 -0
- data/client/hippo/components/text-editor/text-editor.scss +49 -0
- data/client/hippo/extensions/base.js +5 -2
- data/client/hippo/extensions/hippo.js +5 -2
- data/client/hippo/extensions/index.js +9 -3
- data/client/hippo/lib/__mocks__/request-assets.js +2 -2
- data/client/hippo/lib/bootstrap.js +0 -1
- data/client/hippo/lib/smooth-scroll.js +0 -1
- data/client/hippo/lib/util.js +4 -4
- data/client/hippo/models/asset.js +43 -23
- data/client/hippo/models/base.js +1 -2
- data/client/hippo/models/config.js +0 -1
- data/client/hippo/models/decorators.js +3 -3
- data/client/hippo/models/pub_sub.js +2 -5
- data/client/hippo/models/pub_sub/channel.js +0 -1
- data/client/hippo/models/query.js +0 -1
- data/client/hippo/models/query/array-result.js +0 -1
- data/client/hippo/models/query/clause.js +0 -1
- data/client/hippo/models/query/field.js +0 -1
- data/client/hippo/models/query/info.js +0 -3
- data/client/hippo/models/query/operator.js +0 -2
- data/client/hippo/models/query/result.js +0 -1
- data/client/hippo/models/sync.js +1 -1
- data/client/hippo/models/system-setting.js +0 -2
- data/client/hippo/models/tenant.js +0 -1
- data/client/hippo/screens/definition.js +0 -2
- data/client/hippo/screens/group.js +0 -2
- data/client/hippo/screens/instance.js +0 -3
- data/client/hippo/screens/system-settings/mailer-config.jsx +0 -3
- data/client/hippo/styles/global.scss +3 -0
- data/client/hippo/testing/mocks/fetch.js +6 -6
- data/client/hippo/user.js +4 -4
- data/client/hippo/workspace/index.jsx +12 -5
- data/client/hippo/workspace/root-view.jsx +10 -0
- data/command-reference-files/initial/.gitignore +1 -0
- data/command-reference-files/initial/Gemfile +1 -1
- data/command-reference-files/initial/client/appy-app/extension.js +4 -0
- data/command-reference-files/initial/config/webpack.config.js +25 -23
- data/config/routes.rb +4 -1
- data/config/webpack.config.js +1 -2
- data/hippo-fw.gemspec +4 -2
- data/lib/hippo.rb +0 -1
- data/lib/hippo/api/handlers/asset.rb +9 -0
- data/lib/hippo/api/updates.rb +2 -2
- data/lib/hippo/configuration.rb +0 -4
- data/lib/hippo/db.rb +2 -2
- data/lib/hippo/{rails.rb → db/fake_rails.rb} +0 -0
- data/lib/hippo/extension.rb +1 -2
- data/lib/hippo/mailer.rb +1 -0
- data/lib/hippo/spec_helper.rb +1 -0
- data/lib/hippo/version.rb +1 -1
- data/package-lock.json +626 -68
- data/package.json +14 -13
- data/spec/client/access/login-dialog.spec.jsx +1 -0
- data/spec/client/components/asset.spec.jsx +1 -2
- data/spec/client/components/date-time.spec.jsx +20 -0
- data/spec/client/extension/base.spec.js +0 -2
- data/spec/client/models/base.spec.js +4 -4
- data/spec/client/models/query.spec.js +2 -2
- data/spec/client/models/sync.spec.js +1 -1
- data/spec/client/screens/system-settings.spec.jsx +2 -1
- data/spec/client/setup.js +3 -0
- data/spec/client/test-models.js +0 -2
- data/spec/server/api/tenant_change_spec.rb +1 -1
- data/spec/server/api/tenant_isolation_spec.rb +6 -3
- data/spec/server/concerns/api_path_spec.rb +2 -2
- data/templates/.gitignore +1 -0
- data/templates/client/extension.js +4 -0
- data/templates/config/webpack.config.js +25 -23
- metadata +48 -12
- data/client/hippo/lib/pub_sub.js +0 -34
- data/client/hippo/react/viewport-root.jsx +0 -44
- data/spec/client/components/__snapshots__/asset.spec.jsx.snap +0 -48
- data/spec/client/screens/__snapshots__/system-settings.spec.jsx.snap +0 -443
- data/templates/gitignore +0 -4
data/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "hippo-fw",
|
3
|
-
"version": "0.9.
|
3
|
+
"version": "0.9.4",
|
4
4
|
"description": "Hippo is a framework for easily writing single page web applications",
|
5
5
|
"main": "client/hippo/index.js",
|
6
6
|
"repository": "https://github.com/argosity/hippo",
|
@@ -10,11 +10,11 @@
|
|
10
10
|
"client"
|
11
11
|
],
|
12
12
|
"dependencies": {
|
13
|
-
"actioncable": "^5.
|
13
|
+
"actioncable": "^5.1.1",
|
14
14
|
"babel-core": "^6.25.0",
|
15
15
|
"babel-eslint": "^7.2.3",
|
16
16
|
"babel-jest": "^20.0.3",
|
17
|
-
"babel-loader": "^7.
|
17
|
+
"babel-loader": "^7.1.0",
|
18
18
|
"babel-plugin-lodash": "^3.2.11",
|
19
19
|
"babel-plugin-transform-decorators-legacy": "^1.3.4",
|
20
20
|
"babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
|
@@ -34,30 +34,30 @@
|
|
34
34
|
"core-decorators": "^0.19.0",
|
35
35
|
"create-react-class": "^15.6.0",
|
36
36
|
"css-loader": "^0.28.4",
|
37
|
-
"date-fns": "^1.28.2",
|
38
37
|
"domtastic": "^0.15.0",
|
39
|
-
"enzyme": "^2.
|
38
|
+
"enzyme": "^2.9.0",
|
40
39
|
"eslint": "^4.0.0",
|
41
40
|
"eslint-config-argosity": "^1.1.3",
|
42
41
|
"file-loader": "^0.11.2",
|
43
42
|
"flexboxgrid": "^6.3.1",
|
44
43
|
"grommet": "^1.4.0",
|
45
|
-
"history": "^4.6.
|
44
|
+
"history": "^4.6.3",
|
46
45
|
"identity-obj-proxy": "^3.0.0",
|
47
46
|
"invariant": "^2.2.2",
|
48
47
|
"jest": "^20.0.4",
|
49
48
|
"jest-cli": "^20.0.4",
|
50
|
-
"jest-enzyme": "^3.
|
49
|
+
"jest-enzyme": "^3.3.0",
|
51
50
|
"jest-fetch-mock": "^1.0.7",
|
52
51
|
"js-yaml": "^3.8.2",
|
53
52
|
"jsdom": "^11.0.0",
|
54
53
|
"lodash": "^4.17.4",
|
55
54
|
"loglevel": "^1.4.1",
|
56
|
-
"mobx": "^3.1.
|
55
|
+
"mobx": "^3.1.16",
|
57
56
|
"mobx-decorated-models": "^0.5.2",
|
58
57
|
"mobx-persist": "^0.3.3",
|
59
58
|
"mobx-react": "^4.1.0",
|
60
59
|
"node-sass": "^4.5.0",
|
60
|
+
"ory-editor": "^0.2.12",
|
61
61
|
"pluralize": "^5.0.0",
|
62
62
|
"prop-types": "^15.5.8",
|
63
63
|
"qs": "^6.3.0",
|
@@ -66,9 +66,10 @@
|
|
66
66
|
"react-addons-test-utils": "^15.6.0",
|
67
67
|
"react-async-component": "^1.0.0-beta.3",
|
68
68
|
"react-dom": "^15.6.1",
|
69
|
-
"react-dropzone": "^3.
|
69
|
+
"react-dropzone": "^3.13.3",
|
70
70
|
"react-flexbox-grid": "git+https://github.com/nathanstitt/react-flexbox-grid.git#devel",
|
71
71
|
"react-hot-loader": "3.0.0-beta.6",
|
72
|
+
"react-input-slider": "^1.6.0",
|
72
73
|
"react-motion": "^0.5.0",
|
73
74
|
"react-native-storage": "^0.2.2",
|
74
75
|
"react-router": "^4.1.1",
|
@@ -77,16 +78,16 @@
|
|
77
78
|
"react-test-renderer": "^15.6.1",
|
78
79
|
"react-tippy": "^0.14.0",
|
79
80
|
"react-virtualized": "^9.8.0",
|
80
|
-
"resolve-url-loader": "^2.0.
|
81
|
+
"resolve-url-loader": "^2.0.3",
|
81
82
|
"rsvp": "^3.3.3",
|
82
83
|
"sass-loader": "^6.0.6",
|
83
84
|
"sockjs-client": "^1.1.4",
|
84
85
|
"sprintf-js": "^1.0.3",
|
85
86
|
"style-loader": "^0.18.2",
|
86
87
|
"url-loader": "^0.5.9",
|
87
|
-
"validator": "^7.
|
88
|
-
"webpack": "^
|
89
|
-
"webpack-dev-server": "^2.
|
88
|
+
"validator": "^7.1.0",
|
89
|
+
"webpack": "^3.0.0",
|
90
|
+
"webpack-dev-server": "^2.5.0",
|
90
91
|
"whatwg-fetch": "^2.0.2",
|
91
92
|
"when-dom-ready": "^1.2.4"
|
92
93
|
}
|
@@ -7,10 +7,9 @@ import { TestImage } from '../test-models';
|
|
7
7
|
import { Snapshot } from 'hippo/testing/screens';
|
8
8
|
|
9
9
|
describe("Asset Component", () => {
|
10
|
-
it('renders
|
10
|
+
it('renders', () => {
|
11
11
|
const image = new TestImage();
|
12
12
|
const asset = mount(<Asset model={image} name="asset" />);
|
13
13
|
expect(asset).toHaveRendered('Dropzone');
|
14
|
-
expect(Snapshot(<Asset model={image} name="asset" />)).toMatchSnapshot();
|
15
14
|
});
|
16
15
|
});
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import DateTime from 'hippo/components/date-time/date-time-drop';
|
3
|
+
import moment from 'moment';
|
4
|
+
|
5
|
+
describe('DateTime Component', () => {
|
6
|
+
let props;
|
7
|
+
beforeEach(() => {
|
8
|
+
props = {
|
9
|
+
value: moment('2017-06-26T21:33:13Z'),
|
10
|
+
onChange: jest.fn(),
|
11
|
+
};
|
12
|
+
});
|
13
|
+
|
14
|
+
it('sets time', () => {
|
15
|
+
const dt = mount(<DateTime {...props} />);
|
16
|
+
dt.find('.minutes').simulate('change', { target: { value: '42' } });
|
17
|
+
expect(props.onChange).toHaveBeenCalledWith(props.value);
|
18
|
+
expect(props.value.minute()).toEqual(42);
|
19
|
+
});
|
20
|
+
});
|
@@ -27,15 +27,15 @@ describe('BaseModel Test', () => {
|
|
27
27
|
const box = new Box({ id: 11, width: 5 });
|
28
28
|
const spy = jest.fn();
|
29
29
|
autorun(() => spy(box.syncUrl));
|
30
|
-
expect(spy).toHaveBeenCalledWith('/api/test/
|
30
|
+
expect(spy).toHaveBeenCalledWith('/api/test/box/11');
|
31
31
|
expect(box.id).toEqual(11);
|
32
32
|
expect(box.identifierFieldValue).toEqual(11);
|
33
33
|
expect(box.isNew).toEqual(false);
|
34
|
-
expect(box.syncUrl).toEqual('/api/test/
|
34
|
+
expect(box.syncUrl).toEqual('/api/test/box/11');
|
35
35
|
box.id = 42;
|
36
36
|
expect(spy).toHaveBeenCalledTimes(2);
|
37
|
-
expect(spy).toHaveBeenCalledWith('/api/test/
|
38
|
-
expect(box.syncUrl).toEqual('/api/test/
|
37
|
+
expect(spy).toHaveBeenCalledWith('/api/test/box/42');
|
38
|
+
expect(box.syncUrl).toEqual('/api/test/box/42');
|
39
39
|
});
|
40
40
|
|
41
41
|
it('is set from sync', () => {
|
@@ -138,7 +138,7 @@ describe('Model Queries', () => {
|
|
138
138
|
query.clauses[0].value = 'test value';
|
139
139
|
query.results.fetch();
|
140
140
|
expect(Sync.perform).toHaveBeenLastCalledWith(
|
141
|
-
'/api/test/
|
141
|
+
'/api/test/box', {
|
142
142
|
total_count: 't',
|
143
143
|
fields: ['id', 'label', 'width', 'height', 'depth'],
|
144
144
|
query: { computed: { op: 'like', value: 'test value%' } },
|
@@ -227,7 +227,7 @@ describe('Model Queries', () => {
|
|
227
227
|
expect(query.results.fullyLoaded).toEqual(false);
|
228
228
|
query.setSort({ field: query.fields[2], ascending: true });
|
229
229
|
expect(Sync.perform).toHaveBeenLastCalledWith(
|
230
|
-
'/api/test/
|
230
|
+
'/api/test/box', {
|
231
231
|
total_count: 't',
|
232
232
|
fields: ['id', 'label', 'width', 'height', 'depth'],
|
233
233
|
order: { label: 'asc' },
|
@@ -43,7 +43,7 @@ describe('Network sync', () => {
|
|
43
43
|
const body = JSON.stringify(box.syncData);
|
44
44
|
Sync.forModel(box).then(() => expect(box.width).toEqual(12));
|
45
45
|
expect(fetch).lastCalledWith(
|
46
|
-
'/api/test/
|
46
|
+
'/api/test/box/11.json',
|
47
47
|
{ body, headers: { 'Content-Type': 'application/json' }, method: 'PUT' });
|
48
48
|
});
|
49
49
|
});
|
@@ -17,6 +17,7 @@ describe('SystemSettings Screen', () => {
|
|
17
17
|
});
|
18
18
|
|
19
19
|
it('renders', () => {
|
20
|
-
|
20
|
+
const settings = mount(<Settings screen={instance} />);
|
21
|
+
expect(settings).toHaveRendered('Screen');
|
21
22
|
});
|
22
23
|
});
|
data/spec/client/setup.js
CHANGED
data/spec/client/test-models.js
CHANGED
@@ -30,7 +30,6 @@ export class TestImage extends BaseModel {
|
|
30
30
|
|
31
31
|
@identifiedBy('test/box')
|
32
32
|
export class Box extends BaseModel {
|
33
|
-
|
34
33
|
@session visibleIdentifier;
|
35
34
|
|
36
35
|
@session({ type: 'string' }) label;
|
@@ -50,7 +49,6 @@ export class Box extends BaseModel {
|
|
50
49
|
|
51
50
|
@identifiedBy('test/container')
|
52
51
|
export class Container extends BaseModel {
|
53
|
-
|
54
52
|
@identifier({ type: 'string' }) id;
|
55
53
|
|
56
54
|
@field name;
|
@@ -8,7 +8,7 @@ describe "Tenant changes", api: true, vcr: VCR_OPTS do
|
|
8
8
|
let!(:user) { FactoryGirl.create :user, tenant: tenant, role_names: ['administrator'] }
|
9
9
|
|
10
10
|
it 'sends email when tenant identifier changes' do
|
11
|
-
post '/api/hippo/
|
11
|
+
post '/api/hippo/tenant.json', {
|
12
12
|
'slug' => 'RED'
|
13
13
|
}.to_json, {
|
14
14
|
'HTTP_AUTHORIZATION' => user.jwt_token,
|
@@ -9,8 +9,11 @@ describe "Tenant isoloation", api: true, vcr: VCR_OPTS do
|
|
9
9
|
let!(:foo_user) { FactoryGirl.create :user, tenant: foo }
|
10
10
|
let!(:bar_user) { FactoryGirl.create :user, tenant: bar }
|
11
11
|
|
12
|
+
before(:each) {
|
13
|
+
Hippo.logger.level = ::Logger::ERROR
|
14
|
+
}
|
12
15
|
it 'isolates foo’s tenant data from bar' do
|
13
|
-
get '/api/hippo/
|
16
|
+
get '/api/hippo/user.json', {} , {
|
14
17
|
'HTTP_AUTHORIZATION' => foo_user.jwt_token,
|
15
18
|
'SERVER_NAME' => "#{foo.slug}.example.ua" }
|
16
19
|
ids = last_response_json['data'].map { |u| u['id'] }
|
@@ -19,7 +22,7 @@ describe "Tenant isoloation", api: true, vcr: VCR_OPTS do
|
|
19
22
|
end
|
20
23
|
|
21
24
|
it 'isolates bar’s tenant data from foo' do
|
22
|
-
get '/api/hippo/
|
25
|
+
get '/api/hippo/user.json', {}, {
|
23
26
|
'HTTP_AUTHORIZATION' => bar_user.jwt_token,
|
24
27
|
'SERVER_NAME' => "#{bar.slug}.example.ua" }
|
25
28
|
ids = last_response_json['data'].map { |u| u['id'] }
|
@@ -28,7 +31,7 @@ describe "Tenant isoloation", api: true, vcr: VCR_OPTS do
|
|
28
31
|
end
|
29
32
|
|
30
33
|
it 'disallows using a user’s token on incorrect domain' do
|
31
|
-
get '/api/hippo/
|
34
|
+
get '/api/hippo/user.json', {}, {
|
32
35
|
'HTTP_AUTHORIZATION' => foo_user.jwt_token,
|
33
36
|
'SERVER_NAME' => "#{bar.slug}.example.ua" }
|
34
37
|
expect(last_response).to_not be_ok
|
@@ -11,10 +11,10 @@ describe "ApiPath" do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
it "generates path" do
|
14
|
-
expect('test-
|
14
|
+
expect('test-model').to eq(TestModel.api_path)
|
15
15
|
end
|
16
16
|
|
17
17
|
it "converts path to model" do
|
18
|
-
expect(TestModel).to eq(Hippo::Model.from_api_path('test-
|
18
|
+
expect(TestModel).to eq(Hippo::Model.from_api_path('test-model'))
|
19
19
|
end
|
20
20
|
end
|
data/templates/.gitignore
CHANGED
@@ -25,6 +25,10 @@ export default class Extension extends BaseExtension {
|
|
25
25
|
// the Base class will simply store the provided data as @data
|
26
26
|
setBootstrapData() { return super.setBootstrapData(...arguments); }
|
27
27
|
|
28
|
+
// The root view that will be rendered when a screen is not being shown
|
29
|
+
// Return a different component here to customize
|
30
|
+
rootView() { return super.rootView(); }
|
31
|
+
|
28
32
|
// A React component that should be rendered as part of the settings screen
|
29
33
|
get systemSettingsComponent() {
|
30
34
|
return null;
|
@@ -9,9 +9,9 @@ const entries = {
|
|
9
9
|
};
|
10
10
|
|
11
11
|
<%% unless Hippo.env.production? -%>
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
for (var key in entries) {
|
13
|
+
entries[key].unshift('react-hot-loader/patch');
|
14
|
+
}
|
15
15
|
<%% end -%>
|
16
16
|
|
17
17
|
const config = {
|
@@ -19,7 +19,7 @@ const config = {
|
|
19
19
|
output: {
|
20
20
|
path: '<%%= config_directory.join('..','public', 'assets') %>',
|
21
21
|
publicPath: '<%%= Hippo.env.production? ? "https://assets.#{Hippo.config.website_domain}/assets/" : 'http://test.hippo.dev:8889/assets/' %>',
|
22
|
-
|
22
|
+
filename: '[name]-[hash].js',
|
23
23
|
},
|
24
24
|
resolve: {
|
25
25
|
modules: [
|
@@ -63,17 +63,19 @@ const config = {
|
|
63
63
|
},
|
64
64
|
},
|
65
65
|
{ test: /\.scss$/,
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
66
|
+
use: [
|
67
|
+
'style-loader',
|
68
|
+
'css-loader',
|
69
|
+
'resolve-url-loader',
|
70
|
+
{
|
71
|
+
loader: 'sass-loader',
|
72
|
+
options: {
|
73
|
+
includePaths: [
|
74
|
+
"<%%= Hippo::Extensions.client_module_paths.join('","') %>",
|
75
|
+
],
|
76
|
+
},
|
77
|
+
},
|
78
|
+
],
|
77
79
|
},
|
78
80
|
],
|
79
81
|
},
|
@@ -82,20 +84,20 @@ const config = {
|
|
82
84
|
new webpack.DefinePlugin({
|
83
85
|
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
|
84
86
|
}),
|
85
|
-
<%% if Hippo.env.production? %>
|
87
|
+
<%% if Hippo.env.production? %>
|
86
88
|
new webpack.optimize.UglifyJsPlugin(), //minify everything
|
87
89
|
new webpack.optimize.AggressiveMergingPlugin(), //Merge chunks
|
88
90
|
new webpack.optimize.OccurrenceOrderPlugin(), // use smallest id for most used chuncks
|
89
91
|
new CompressionPlugin({
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
92
|
+
asset: "[path].gz[query]",
|
93
|
+
algorithm: "gzip",
|
94
|
+
test: /\.(js|html)$/,
|
95
|
+
threshold: 10240,
|
96
|
+
minRatio: 0.8
|
95
97
|
}),
|
96
|
-
<%% else %>
|
98
|
+
<%% else %>
|
97
99
|
new webpack.NamedModulesPlugin(),
|
98
|
-
<%% end %>
|
100
|
+
<%% end %>
|
99
101
|
],
|
100
102
|
node: {
|
101
103
|
fs: 'empty',
|
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.5
|
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-07-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activejob
|
@@ -16,28 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 5.
|
19
|
+
version: 5.1.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 5.
|
26
|
+
version: 5.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activerecord
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 5.
|
33
|
+
version: 5.1.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 5.
|
40
|
+
version: 5.1.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: activerecord-multi-tenant
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.6'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.6'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: litecable
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -677,6 +691,12 @@ files:
|
|
677
691
|
- client/hippo/components/data-table.jsx
|
678
692
|
- client/hippo/components/data-table/header-cell.jsx
|
679
693
|
- client/hippo/components/data-table/table-styles.scss
|
694
|
+
- client/hippo/components/date-time.jsx
|
695
|
+
- client/hippo/components/date-time.scss
|
696
|
+
- client/hippo/components/date-time/calendar.jsx
|
697
|
+
- client/hippo/components/date-time/date-time-drop.jsx
|
698
|
+
- client/hippo/components/date-time/date-time.scss
|
699
|
+
- client/hippo/components/date-time/time.jsx
|
680
700
|
- client/hippo/components/enabled.js.erb
|
681
701
|
- client/hippo/components/field-validation.js
|
682
702
|
- client/hippo/components/form.jsx
|
@@ -745,6 +765,25 @@ files:
|
|
745
765
|
- client/hippo/components/shared/resize-sensor.scss
|
746
766
|
- client/hippo/components/shared/styles.scss
|
747
767
|
- client/hippo/components/shared/throbber.scss
|
768
|
+
- client/hippo/components/text-editor.jsx
|
769
|
+
- client/hippo/components/text-editor/display-modes/Button.jsx
|
770
|
+
- client/hippo/components/text-editor/display-modes/SaveState.jsx
|
771
|
+
- client/hippo/components/text-editor/display-modes/ToggleEdit.jsx
|
772
|
+
- client/hippo/components/text-editor/display-modes/ToggleInsert.jsx
|
773
|
+
- client/hippo/components/text-editor/display-modes/ToggleLayout.jsx
|
774
|
+
- client/hippo/components/text-editor/display-modes/TogglePreview.jsx
|
775
|
+
- client/hippo/components/text-editor/display-modes/ToggleResize.jsx
|
776
|
+
- client/hippo/components/text-editor/display-modes/index.css
|
777
|
+
- client/hippo/components/text-editor/display-modes/index.js
|
778
|
+
- client/hippo/components/text-editor/image-plugin/Component/Display/index.js
|
779
|
+
- client/hippo/components/text-editor/image-plugin/Component/Form/index.js
|
780
|
+
- client/hippo/components/text-editor/image-plugin/Component/index.js
|
781
|
+
- client/hippo/components/text-editor/image-plugin/Component/index.scss
|
782
|
+
- client/hippo/components/text-editor/image-plugin/index.js
|
783
|
+
- client/hippo/components/text-editor/image-plugin/index.scss
|
784
|
+
- client/hippo/components/text-editor/plugins.js
|
785
|
+
- client/hippo/components/text-editor/renderer.jsx
|
786
|
+
- client/hippo/components/text-editor/text-editor.scss
|
748
787
|
- client/hippo/components/tool-tip.jsx
|
749
788
|
- client/hippo/components/toolbar/changes-notification.scss
|
750
789
|
- client/hippo/components/toolbar/index.js
|
@@ -769,7 +808,6 @@ files:
|
|
769
808
|
- client/hippo/lib/bootstrap.js
|
770
809
|
- client/hippo/lib/index.js.erb
|
771
810
|
- client/hippo/lib/loader.js
|
772
|
-
- client/hippo/lib/pub_sub.js
|
773
811
|
- client/hippo/lib/request-assets.js
|
774
812
|
- client/hippo/lib/smooth-scroll.js
|
775
813
|
- client/hippo/lib/util.js
|
@@ -796,7 +834,6 @@ files:
|
|
796
834
|
- client/hippo/react/DefaultComponentNotFound.jsx
|
797
835
|
- client/hippo/react/Root.jsx
|
798
836
|
- client/hippo/react/index.js
|
799
|
-
- client/hippo/react/viewport-root.jsx
|
800
837
|
- client/hippo/screens/all.js.erb
|
801
838
|
- client/hippo/screens/definition.js
|
802
839
|
- client/hippo/screens/group.js
|
@@ -846,6 +883,7 @@ files:
|
|
846
883
|
- client/hippo/workspace/menu-option.jsx
|
847
884
|
- client/hippo/workspace/menu.jsx
|
848
885
|
- client/hippo/workspace/navbar.jsx
|
886
|
+
- client/hippo/workspace/root-view.jsx
|
849
887
|
- client/hippo/workspace/screen.jsx
|
850
888
|
- client/hippo/workspace/styles.scss
|
851
889
|
- client/hippo/workspace/styles/forms.scss
|
@@ -1011,6 +1049,7 @@ files:
|
|
1011
1049
|
- lib/hippo/concerns/sorting_expressions.rb
|
1012
1050
|
- lib/hippo/configuration.rb
|
1013
1051
|
- lib/hippo/db.rb
|
1052
|
+
- lib/hippo/db/fake_rails.rb
|
1014
1053
|
- lib/hippo/db/migrations.rb
|
1015
1054
|
- lib/hippo/environment.rb
|
1016
1055
|
- lib/hippo/extension.rb
|
@@ -1023,7 +1062,6 @@ files:
|
|
1023
1062
|
- lib/hippo/mailer.rb
|
1024
1063
|
- lib/hippo/model.rb
|
1025
1064
|
- lib/hippo/numbers.rb
|
1026
|
-
- lib/hippo/rails.rb
|
1027
1065
|
- lib/hippo/rake_tasks.rb
|
1028
1066
|
- lib/hippo/redis.rb
|
1029
1067
|
- lib/hippo/reloadable_sinatra.rb
|
@@ -1051,13 +1089,13 @@ files:
|
|
1051
1089
|
- package.json
|
1052
1090
|
- spec/client/.eslintrc.js
|
1053
1091
|
- spec/client/access/login-dialog.spec.jsx
|
1054
|
-
- spec/client/components/__snapshots__/asset.spec.jsx.snap
|
1055
1092
|
- spec/client/components/__snapshots__/master-detail.spec.jsx.snap
|
1056
1093
|
- spec/client/components/__snapshots__/network-activity-overlay.spec.jsx.snap
|
1057
1094
|
- spec/client/components/__snapshots__/query-builder.spec.jsx.snap
|
1058
1095
|
- spec/client/components/asset.spec.jsx
|
1059
1096
|
- spec/client/components/data-list.spec.jsx
|
1060
1097
|
- spec/client/components/data-table.spec.jsx
|
1098
|
+
- spec/client/components/date-time.spec.jsx
|
1061
1099
|
- spec/client/components/form.spec.jsx
|
1062
1100
|
- spec/client/components/master-detail.spec.jsx
|
1063
1101
|
- spec/client/components/network-activity-overlay.spec.jsx
|
@@ -1072,7 +1110,6 @@ files:
|
|
1072
1110
|
- spec/client/models/query.spec.js
|
1073
1111
|
- spec/client/models/sync.spec.js
|
1074
1112
|
- spec/client/models/system-setting.spec.js
|
1075
|
-
- spec/client/screens/__snapshots__/system-settings.spec.jsx.snap
|
1076
1113
|
- spec/client/screens/__snapshots__/tabs.spec.jsx.snap
|
1077
1114
|
- spec/client/screens/definition.spec.js
|
1078
1115
|
- spec/client/screens/group.spec.js
|
@@ -1163,7 +1200,6 @@ files:
|
|
1163
1200
|
- templates/config/screens.rb
|
1164
1201
|
- templates/config/webpack.config.js
|
1165
1202
|
- templates/db/create_table_migration.rb
|
1166
|
-
- templates/gitignore
|
1167
1203
|
- templates/js/config-data.js
|
1168
1204
|
- templates/js/jest.config.json
|
1169
1205
|
- templates/js/root-view.html
|