disco_app 0.6.2 → 0.6.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/app/assets/javascripts/disco_app/components/shopify_admin_link.js.jsx +29 -0
- data/app/assets/javascripts/disco_app/components.js +5 -0
- data/app/assets/stylesheets/disco_app/bootstrap/_custom.scss +1 -1
- data/app/assets/stylesheets/disco_app/disco/_grid.scss +46 -0
- data/app/assets/stylesheets/disco_app/disco/_tables.scss +51 -0
- data/app/assets/stylesheets/disco_app/disco/_tabs.scss +8 -0
- data/app/assets/stylesheets/disco_app/disco_app.scss +2 -0
- data/app/helpers/disco_app/application_helper.rb +5 -0
- data/lib/disco_app/version.rb +1 -1
- data/lib/generators/disco_app/mailify/mailify_generator.rb +0 -1
- data/lib/generators/disco_app/reactify/reactify_generator.rb +15 -1
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed90cb5423a1bc8af9fee9c49539fb826270afa2cf76f0865f936c9c95cc15e3
|
4
|
+
data.tar.gz: d976b5cf1f1237b2c4d4020107ae0c7ee715b797666ba8af0c4346b4135370ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27abe4c9313cc7576ede08b42b5207312a627bc70c189b6adeca4aba4565289e6877a3fa6a8b4e3f45551d3818fbb4e3c3dcf8de837852483d977f47b0ed297c
|
7
|
+
data.tar.gz: '059fb5c0f3dde3dcb64607695c60c1c80ea08e357cf446460f5b0c716128f740fd86570226083b1f8259343f2d710126befa76c480e048db9f4517cbabf8df93'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
/**
|
2
|
+
* ShopifyAdminLink
|
3
|
+
*
|
4
|
+
* Renders a link pointing to an object (such as an order or customer) inside
|
5
|
+
* the given shop's Shopify admin. This helper makes it easy to create links
|
6
|
+
* to objects within the admin that support both right-clicking and opening in
|
7
|
+
* a new tab as well as capturing a left click and redirecting to the relevant
|
8
|
+
* object using `ShopifyApp.redirect()`.
|
9
|
+
*
|
10
|
+
* This component is the React equivalent to the link_to_shopify_admin helper
|
11
|
+
* found in app/helpers/disco_app/application_helper.rb.
|
12
|
+
*/
|
13
|
+
var ShopifyAdminLink = React.createClass({
|
14
|
+
|
15
|
+
handleClick: function(e) {
|
16
|
+
e.preventDefault();
|
17
|
+
ShopifyApp.redirect(this.props.href);
|
18
|
+
},
|
19
|
+
|
20
|
+
render: function() {
|
21
|
+
var href = '/admin' + this.props.href;
|
22
|
+
return (
|
23
|
+
<a className={this.props.className} href={href} onClick={this.handleClick}>
|
24
|
+
{this.props.label}
|
25
|
+
</a>
|
26
|
+
)
|
27
|
+
}
|
28
|
+
|
29
|
+
});
|
@@ -0,0 +1,46 @@
|
|
1
|
+
//
|
2
|
+
// Replicate the styles for Shopify Admin grid.
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
.next-grid {
|
6
|
+
display: flex;
|
7
|
+
width: calc(100% - 20px);
|
8
|
+
margin: 0 auto;
|
9
|
+
box-sizing: border-box;
|
10
|
+
padding-top: 10px;
|
11
|
+
|
12
|
+
&:last-of-type {
|
13
|
+
padding-bottom: 10px;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
.next-grid--no-padding {
|
18
|
+
width: 100%;
|
19
|
+
|
20
|
+
&:first-of-type, &:last-of-type {
|
21
|
+
padding: 0;
|
22
|
+
}
|
23
|
+
|
24
|
+
> .next-grid__cell {
|
25
|
+
padding: 0;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
.next-grid--center-aligned, .next-grid--center-both {
|
30
|
+
-webkit-box-pack: center;
|
31
|
+
-webkit-justify-content: center;
|
32
|
+
-ms-flex-pack: center;
|
33
|
+
justify-content: center;
|
34
|
+
}
|
35
|
+
|
36
|
+
.next-grid__cell {
|
37
|
+
@include flex(1, 1, 0%);
|
38
|
+
padding: 10px;
|
39
|
+
box-sizing: border-box;
|
40
|
+
max-width: 100%;
|
41
|
+
min-width: 0;
|
42
|
+
}
|
43
|
+
|
44
|
+
.next-grid__cell--no-flex {
|
45
|
+
@include flex(0 0 auto);
|
46
|
+
}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
//
|
2
|
+
// Replicate the styles for Shopify Admin tables.
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
table {
|
6
|
+
width: 100%;
|
7
|
+
border-collapse: separate;
|
8
|
+
border-spacing: 0;
|
9
|
+
|
10
|
+
&.expanded td {
|
11
|
+
padding-top: 8px;
|
12
|
+
padding-bottom: 8px;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
th {
|
17
|
+
font-weight: 400;
|
18
|
+
text-align: left;
|
19
|
+
color: #31373d;
|
20
|
+
padding: 8px 10px;
|
21
|
+
border-bottom: 1px solid #ebeef0;
|
22
|
+
|
23
|
+
&.right-aligned {
|
24
|
+
text-align: right;
|
25
|
+
}
|
26
|
+
|
27
|
+
&.is-sortable {
|
28
|
+
cursor: pointer;
|
29
|
+
|
30
|
+
&:hover {
|
31
|
+
background: #eff9fd;
|
32
|
+
color: #479ccf;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
td {
|
38
|
+
border-bottom: 1px solid #ebeef0;
|
39
|
+
padding: 6px 10px;
|
40
|
+
background: transparent;
|
41
|
+
}
|
42
|
+
|
43
|
+
tr:last-child > td {
|
44
|
+
border-bottom: none;
|
45
|
+
}
|
46
|
+
|
47
|
+
.table-hover {
|
48
|
+
tr:hover td {
|
49
|
+
background: #eff9fd;
|
50
|
+
}
|
51
|
+
}
|
@@ -43,6 +43,14 @@
|
|
43
43
|
align-items: center;
|
44
44
|
justify-content: center;
|
45
45
|
|
46
|
+
&:focus,
|
47
|
+
&:hover {
|
48
|
+
outline: none;
|
49
|
+
background-color: #fafbfc;
|
50
|
+
color: #479ccf;
|
51
|
+
text-decoration: none;
|
52
|
+
}
|
53
|
+
|
46
54
|
&.next-tab--is-active {
|
47
55
|
background-color: #ffffff;
|
48
56
|
color: #31373d;
|
@@ -6,9 +6,11 @@
|
|
6
6
|
@import 'bootstrap/variables';
|
7
7
|
@import 'bootstrap/custom';
|
8
8
|
@import 'disco/mixins/flexbox';
|
9
|
+
@import 'disco/grid';
|
9
10
|
@import 'disco/type';
|
10
11
|
@import 'disco/sections';
|
11
12
|
@import 'disco/cards';
|
12
13
|
@import 'disco/buttons';
|
13
14
|
@import 'disco/forms';
|
15
|
+
@import 'disco/tables';
|
14
16
|
@import 'disco/tabs';
|
@@ -1,5 +1,10 @@
|
|
1
1
|
module DiscoApp::ApplicationHelper
|
2
2
|
|
3
|
+
# Generates a link pointing to an object (such as an order or customer) inside
|
4
|
+
# the given shop's Shopify admin. This helper makes it easy to create links
|
5
|
+
# to objects within the admin that support both right-clicking and opening in
|
6
|
+
# a new tab as well as capturing a left click and redirecting to the relevant
|
7
|
+
# object using `ShopifyApp.redirect()`.
|
3
8
|
def link_to_shopify_admin(shop, name, admin_path, options = {})
|
4
9
|
options[:onclick] = "ShopifyApp.redirect('#{admin_path}'); return false;"
|
5
10
|
options[:'data-no-turbolink'] = true
|
data/lib/disco_app/version.rb
CHANGED
@@ -7,7 +7,7 @@ module DiscoApp
|
|
7
7
|
# Install the react-rails gem and run its setup.
|
8
8
|
def install_gem
|
9
9
|
# Add gem to Gemfile
|
10
|
-
gem 'react-rails', '~> 1.
|
10
|
+
gem 'react-rails', '~> 1.4.0'
|
11
11
|
|
12
12
|
# Install gem.
|
13
13
|
Bundler.with_clean_env do
|
@@ -26,6 +26,20 @@ module DiscoApp
|
|
26
26
|
application "# Use production variant of React in production.", env: :production
|
27
27
|
end
|
28
28
|
|
29
|
+
# Include the DiscoApp component library in the application.js manifest.
|
30
|
+
def add_to_manifest
|
31
|
+
inject_into_file manifest, "//= require disco_app/components\n", { before: "//= require components\n" }
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
# This method of finding the application.js manifest taken from the
|
37
|
+
# install generator in react-rails.
|
38
|
+
# See https://github.com/reactjs/react-rails/blob/3f0af13fa755d6e95969c17728d0354c234f3a37/lib/generators/react/install_generator.rb#L53-L55
|
39
|
+
def manifest
|
40
|
+
Pathname.new(destination_root).join('app/assets/javascripts', 'application.js')
|
41
|
+
end
|
42
|
+
|
29
43
|
end
|
30
44
|
end
|
31
45
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: disco_app
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Ballard
|
@@ -243,6 +243,8 @@ extra_rdoc_files: []
|
|
243
243
|
files:
|
244
244
|
- Rakefile
|
245
245
|
- app/assets/images/disco_app/icon.svg
|
246
|
+
- app/assets/javascripts/disco_app/components.js
|
247
|
+
- app/assets/javascripts/disco_app/components/shopify_admin_link.js.jsx
|
246
248
|
- app/assets/javascripts/disco_app/disco_app.js
|
247
249
|
- app/assets/javascripts/disco_app/frame.js
|
248
250
|
- app/assets/javascripts/disco_app/shopify-turbolinks.js
|
@@ -251,7 +253,9 @@ files:
|
|
251
253
|
- app/assets/stylesheets/disco_app/disco/_buttons.scss
|
252
254
|
- app/assets/stylesheets/disco_app/disco/_cards.scss
|
253
255
|
- app/assets/stylesheets/disco_app/disco/_forms.scss
|
256
|
+
- app/assets/stylesheets/disco_app/disco/_grid.scss
|
254
257
|
- app/assets/stylesheets/disco_app/disco/_sections.scss
|
258
|
+
- app/assets/stylesheets/disco_app/disco/_tables.scss
|
255
259
|
- app/assets/stylesheets/disco_app/disco/_tabs.scss
|
256
260
|
- app/assets/stylesheets/disco_app/disco/_type.scss
|
257
261
|
- app/assets/stylesheets/disco_app/disco/mixins/_flexbox.scss
|