app_rail-steps 0.2.3 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 42519d84340141281c5aafa11a20c515f5be53567ebb6f53df920c6ac6870170
4
- data.tar.gz: b665ddd40d4d904d676af85f7cee1cce6ed8e8e1a42e68420cfb7d80a04551e2
3
+ metadata.gz: a141fb3b658dd53261624e501490700e20e8659856c107022597092a2fe29469
4
+ data.tar.gz: 17a66d80b87ecb6305d88b56decf82ef5445e7d44b5062d49adef43132a3a0f0
5
5
  SHA512:
6
- metadata.gz: 1bf6eef1061548b2226b1d5b3f6428165f7443338101cdd5350b0fdc106d7e0a685c0598fe83d1075acbf59c33ba59a8d13ce1a95403de7c74cc2d461dd6ac00
7
- data.tar.gz: ecb72f5f9271a9c97d661637898ef16edd4bb1eec847100188bc50553081bb821f7b286edd564a64c41d7db1cc4082764d4f7f4700b9a75a19313e03dd0e4b60
6
+ metadata.gz: fea4a473618b0e1129c641f9195c2cd84f8718ce1a3f6a6713aaf9eb064cc07eed26d29ef20b84e512ea6206052ac163cde9c32defe9dbcda38ccd0cc511664f
7
+ data.tar.gz: c7c443db93e21aa566c7a23b73ba5cd8905f8ca25e6c1d555b5a7ae2a9bf74ec90fc8bf8f09f79a54f22742c586a5778c8dea3c2ed607a7e5a89c3e1053d73bd
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- app_rail-steps (0.2.3)
4
+ app_rail-steps (0.2.6)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -22,7 +22,22 @@ Or install it yourself as:
22
22
 
23
23
  ## Usage
24
24
 
25
- TODO: Write usage instructions here
25
+ ```ruby
26
+ #require the gem in your script
27
+ require 'app_rail/steps'
28
+
29
+ ...
30
+ #inside your module/class include the displayable modile
31
+ include AppRail::Steps::Displayable
32
+
33
+ ...
34
+ #now you can use the methods from the gem for example:
35
+ def ar_list_item_as_json
36
+ ar_core_list_item(id: self.id, text: self.name, detail_text: self.detail_text)
37
+ end
38
+
39
+
40
+ ```
26
41
 
27
42
  ## Development
28
43
 
@@ -32,7 +47,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
32
47
 
33
48
  ## Contributing
34
49
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/app_rail-steps.
50
+ Bug reports and pull requests are welcome on GitHub at https://github.com/FutureWorkshops/app_rail-steps.
36
51
 
37
52
  ## License
38
53
 
@@ -4,9 +4,16 @@ module AppRail
4
4
  module Steps
5
5
  module Core
6
6
  module List
7
- def ar_core_list_item(text:, id: self.id, detail_text: nil, sf_symbol_name: nil, material_icon_name: nil, preview_url: nil)
8
- { id: id, text: text, detailText: detail_text, sfSymbolName: sf_symbol_name,
9
- materialIconName: material_icon_name, imageURL: preview_url }.compact
7
+ def ar_core_list_item(text:, id: self.id, detail_text: nil, section_name: nil, sf_symbol_name: nil, material_icon_name: nil, preview_url: nil)
8
+ {
9
+ id: id,
10
+ text: text,
11
+ detailText: detail_text,
12
+ sectionName: section_name,
13
+ sfSymbolName: sf_symbol_name,
14
+ materialIconName: material_icon_name,
15
+ imageURL: preview_url
16
+ }.compact
10
17
  end
11
18
 
12
19
  def ar_core_list_search_suggestion(text:, section_name:, id: self.id, sf_symbol_name: nil)
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppRail
4
+ module Steps
5
+ module Core
6
+ module Stack
7
+ CONTENT_MODE_OPTIONS = %i[scale_aspect_fill scale_aspect_fit].freeze
8
+
9
+ def ar_core_stack_text(text:, label: nil)
10
+ { type: :text, label: label, text: text.to_s }.compact
11
+ end
12
+
13
+ def ar_core_stack_image(preview_url:, attachment_url:, content_mode: :scale_aspect_fill)
14
+ validate_content_mode!(content_mode)
15
+
16
+ { type: :image, contentMode: camelcase_converter(content_mode.to_s, first_letter: :lower),
17
+ previewURL: preview_url, url: attachment_url }
18
+ end
19
+
20
+ def ar_core_stack_unsplash_image(image_url)
21
+ if image_url.start_with? "https://unsplash.com/photos"
22
+ unsplash_id = image_url.split("/").last
23
+ image_url = "https://source.unsplash.com/#{unsplash_id}/800x600"
24
+ end
25
+
26
+ { type: :image, previewURL: image_url, url: image_url }.compact
27
+ end
28
+
29
+ def ar_core_stack_video(preview_url:, attachment_url:)
30
+ { type: :video, previewURL: preview_url, url: attachment_url }
31
+ end
32
+
33
+ def ar_core_stack_button(label:, style: :primary, on_success: :forward, sf_symbol_name: nil, material_icon_name: nil)
34
+ validate_on_success!(on_success)
35
+ validate_button_style!(style)
36
+
37
+ { type: :button, label: label, style: style, onSuccess: on_success, sfSymbolName: sf_symbol_name,
38
+ materialIconName: material_icon_name }.compact
39
+ end
40
+
41
+ def ar_core_stack_delete_button(url:, label: "Delete", method: :delete, style: :danger, on_success: :backward)
42
+ validate_on_success!(on_success)
43
+ validate_button_style!(style)
44
+
45
+ { type: :button, label: label, url: url, method: method, style: style, onSuccess: on_success,
46
+ sfSymbolName: "trash", materialIconName: "delete" }.compact
47
+ end
48
+
49
+ def ar_core_stack_url_button(url:, label:, method: :put, style: :primary, confirm_title: nil, confirm_text: nil, on_success: :reload, sf_symbol_name: nil, material_icon_name: nil)
50
+ validate_on_success!(on_success)
51
+ validate_button_style!(style)
52
+
53
+ { type: :button, label: label, url: url, method: method, style: style, confirmTitle: confirm_title,
54
+ confirmText: confirm_text, onSuccess: on_success, sfSymbolName: sf_symbol_name, materialIconName: material_icon_name }.compact
55
+ end
56
+ alias ar_core_stack_button_for_url ar_core_stack_url_button
57
+
58
+ def ar_core_stack_system_url_button(label:, apple_system_url: nil, android_deep_link: nil, style: :primary, sf_symbol_name: nil, material_icon_name: nil)
59
+ validate_button_style!(style)
60
+ raise "Invalid android_deep_link" if android_deep_link && !android_deep_link.start_with?("http")
61
+
62
+ { type: :button, label: label, appleSystemURL: apple_system_url, androidDeepLink: android_deep_link,
63
+ style: style, sfSymbolName: sf_symbol_name, materialIconName: material_icon_name }.compact
64
+ end
65
+ alias ar_core_stack_button_for_system_url ar_core_stack_system_url_button
66
+
67
+ def ar_core_stack_link_button(label:, link_id:, style: :primary, on_success: :none, sf_symbol_name: nil, material_icon_name: nil)
68
+ validate_on_success!(on_success)
69
+ validate_button_style!(style)
70
+
71
+ { type: :button, label: label, linkId: link_id, style: style, onSuccess: on_success,
72
+ sfSymbolName: sf_symbol_name, materialIconName: material_icon_name }.compact
73
+ end
74
+
75
+ # Remove this method once V1 is no longer being used
76
+ def ar_core_stack_modal_workflow_button(label:, modal_workflow_name:, style: :primary, on_success: :none, sf_symbol_name: nil, material_icon_name: nil)
77
+ validate_on_success!(on_success)
78
+ validate_button_style!(style)
79
+
80
+ { type: :button, label: label, modalWorkflow: modal_workflow_name, style: style, onSuccess: on_success,
81
+ sfSymbolName: sf_symbol_name, materialIconName: material_icon_name }.compact
82
+ end
83
+ alias ar_core_stack_button_for_modal_workflow ar_core_stack_modal_workflow_button
84
+
85
+ private
86
+
87
+ def validate_content_mode!(on_success)
88
+ raise "Unknown content_mode" unless CONTENT_MODE_OPTIONS.include?(on_success)
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -1,15 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "core/list"
4
+ require_relative "core/stack"
4
5
  require_relative "core_forms/form"
5
6
  require_relative "maps/map"
7
+ require_relative "styled_content/grid"
8
+ require_relative "styled_content/stack"
6
9
 
7
10
  module AppRail
8
11
  module Steps
9
12
  module Displayable
10
13
  include Steps::Core::List
14
+ include Steps::Core::Stack
11
15
  include Steps::CoreForms::Form
12
16
  include Steps::Maps::Map
17
+ include Steps::StyledContent::Grid
18
+ include Steps::StyledContent::Stack
13
19
 
14
20
  BUTTON_STYLES = %i[primary outline danger textOnly].freeze
15
21
  ON_SUCCESS_OPTIONS = %i[none reload backward forward].freeze
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppRail
4
+ module Steps
5
+ module StyledContent
6
+ module Grid
7
+ def ar_styled_content_grid_large_section(id:, text:)
8
+ raise "Missing id" if id.nil?
9
+ raise "Missing text" if text.nil?
10
+
11
+ { id: id, text: text, type: :largeSection }
12
+ end
13
+
14
+ def ar_styled_content_grid_small_section(id:, text:)
15
+ raise "Missing id" if id.nil?
16
+ raise "Missing text" if text.nil?
17
+
18
+ { id: id, text: text, type: :smallSection }
19
+ end
20
+
21
+ def ar_styled_content_grid_item(text:, id: self.id, detail_text: nil, preview_url: nil)
22
+ raise "Missing id" if id.nil?
23
+ raise "Missing text" if text.nil?
24
+
25
+ { id: id, text: text, type: :item, detailText: detail_text, imageURL: preview_url }.compact
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppRail
4
+ module Steps
5
+ module StyledContent
6
+ module Stack
7
+ def ar_styled_content_stack_title(title:)
8
+ raise "Missing title" if title.nil?
9
+
10
+ { id: id, title: title, type: :title }
11
+ end
12
+
13
+ def ar_styled_content_stack_text(text:)
14
+ raise "Missing text" if text.nil?
15
+
16
+ { text: text, type: :text }
17
+ end
18
+
19
+ def ar_styled_content_stack_list_item(text:, detail_text: nil, preview_url: nil)
20
+ raise "Missing text" if text.nil?
21
+
22
+ { text: text, detailText: detail_text, type: :listItem, imageURL: preview_url }.compact
23
+ end
24
+
25
+ # Remove `modal_workflow_name` argument once V1 is no longer being used
26
+ def ar_styled_content_stack_button(label:, url: nil, method: :nil, on_success: :none, style: :primary, modal_workflow_name: nil, link_id: nil, link_url: nil, sf_symbol_name: nil, apple_system_url: nil, android_deep_link: nil, confirm_title: nil, confirm_text: nil, share_text: nil, share_image_url: nil)
27
+ raise "Missing label" if label.nil?
28
+
29
+ validate_on_success!(on_success)
30
+ validate_button_style!(style)
31
+
32
+ { type: :button, label: label, url: url, method: method, onSuccess: on_success, style: style,
33
+ modalWorkflow: modal_workflow_name, linkId: link_id, linkURL: link_url, sfSymbolName: sf_symbol_name, appleSystemURL: apple_system_url, androidDeepLink: android_deep_link, confirmTitle: confirm_title, confirmText: confirm_text, shareText: share_text, shareImageURL: share_image_url }.compact
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module AppRail
4
4
  module Steps
5
- VERSION = "0.2.3"
5
+ VERSION = "0.2.6"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: app_rail-steps
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Brooke-Smith
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-18 00:00:00.000000000 Z
11
+ date: 2022-04-22 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -28,9 +28,12 @@ files:
28
28
  - app_rail-steps.gemspec
29
29
  - lib/app_rail/steps.rb
30
30
  - lib/app_rail/steps/core/list.rb
31
+ - lib/app_rail/steps/core/stack.rb
31
32
  - lib/app_rail/steps/core_forms/form.rb
32
33
  - lib/app_rail/steps/displayable.rb
33
34
  - lib/app_rail/steps/maps/map.rb
35
+ - lib/app_rail/steps/styled_content/grid.rb
36
+ - lib/app_rail/steps/styled_content/stack.rb
34
37
  - lib/app_rail/steps/version.rb
35
38
  homepage: https://github.com/FutureWorkshops/app_rail-steps
36
39
  licenses: