janela 0.2.0 → 0.3.0

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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +54 -1
  3. data/README.md +203 -21
  4. data/UPGRADING.md +136 -0
  5. data/app/assets/javascripts/janela/chart_controller.js +16 -8
  6. data/app/assets/javascripts/janela/{dashboard_controller.js → frame_controller.js} +11 -4
  7. data/app/assets/stylesheets/janela.css +163 -0
  8. data/app/controllers/janela/application_controller.rb +45 -0
  9. data/app/controllers/janela/frames_controller.rb +57 -0
  10. data/app/controllers/janela/panes_controller.rb +66 -13
  11. data/app/controllers/janela/queries_controller.rb +17 -0
  12. data/app/controllers/janela/{snapshot_panes_controller.rb → snapshot_queries_controller.rb} +7 -5
  13. data/app/helpers/janela/{dashboard_helper.rb → frames_helper.rb} +25 -9
  14. data/app/models/janela/frame.rb +28 -0
  15. data/app/models/janela/pane.rb +107 -85
  16. data/app/models/janela/query.rb +149 -0
  17. data/app/models/janela/snapshot.rb +6 -6
  18. data/app/views/janela/frames/_card.html.erb +7 -0
  19. data/app/views/janela/frames/_form.html.erb +23 -0
  20. data/app/views/janela/frames/_frame.html.erb +4 -0
  21. data/app/views/janela/frames/_pane.html.erb +12 -0
  22. data/app/views/janela/frames/edit.html.erb +25 -0
  23. data/app/views/janela/frames/index.html.erb +15 -0
  24. data/app/views/janela/frames/new.html.erb +5 -0
  25. data/app/views/janela/frames/show.html.erb +9 -0
  26. data/app/views/janela/panes/_form.html.erb +58 -0
  27. data/app/views/janela/panes/_row.html.erb +12 -0
  28. data/app/views/janela/panes/edit.html.erb +5 -0
  29. data/app/views/janela/panes/new.html.erb +22 -0
  30. data/app/views/janela/panes/show.html.erb +3 -44
  31. data/app/views/janela/queries/_query.html.erb +47 -0
  32. data/app/views/janela/queries/show.html.erb +4 -0
  33. data/app/views/janela/shared/_errors.html.erb +7 -0
  34. data/app/views/layouts/janela/application.html.erb +26 -0
  35. data/config/importmap.rb +1 -1
  36. data/config/locales/en.yml +64 -0
  37. data/config/routes.rb +15 -2
  38. data/db/migrate/20260916000001_create_janela_frames.rb +13 -0
  39. data/db/migrate/20260916000002_create_janela_panes.rb +22 -0
  40. data/docs/decisions/001-built-to-be-forked.md +4 -0
  41. data/docs/decisions/005-pane-urls-and-mount-path.md +4 -1
  42. data/docs/decisions/009-snapshots.md +5 -2
  43. data/docs/decisions/010-agent-guidance-ships-the-agent-waits.md +134 -0
  44. data/docs/decisions/011-panes-do-not-render-in-the-host-layout.md +81 -0
  45. data/docs/decisions/012-frames-and-panes-are-data.md +166 -0
  46. data/docs/decisions/013-naming-and-addressing-frames.md +119 -0
  47. data/docs/decisions/014-corrections-before-frames-are-built.md +222 -0
  48. data/docs/decisions/015-how-breaking-change-is-communicated.md +114 -0
  49. data/docs/decisions/016-the-styling-vocabulary.md +100 -0
  50. data/docs/decisions/017-janela-owns-no-data-store.md +113 -0
  51. data/docs/decisions/018-a-table-is-the-universal-renderer.md +75 -0
  52. data/docs/decisions/019-a-created-frame-asks-the-host-who-owns-it.md +79 -0
  53. data/docs/decisions/020-formatting-belongs-to-the-measure.md +93 -0
  54. data/docs/decisions/021-a-check-has-a-name-a-host-can-silence.md +84 -0
  55. data/docs/decisions/INDEX.md +24 -5
  56. data/docs/multi-tenancy.md +175 -0
  57. data/lib/janela/definition.rb +23 -9
  58. data/lib/janela/dimension.rb +5 -1
  59. data/lib/janela/doctor.rb +219 -0
  60. data/lib/janela/engine.rb +15 -2
  61. data/lib/janela/measure.rb +68 -4
  62. data/lib/janela/version.rb +1 -1
  63. data/lib/janela.rb +24 -1
  64. data/lib/tasks/janela.rake +6 -0
  65. metadata +57 -4
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: janela
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jay Killeen
@@ -95,20 +95,45 @@ files:
95
95
  - CHANGELOG.md
96
96
  - LICENSE.txt
97
97
  - README.md
98
+ - UPGRADING.md
98
99
  - app/assets/javascripts/janela/chart_controller.js
99
- - app/assets/javascripts/janela/dashboard_controller.js
100
+ - app/assets/javascripts/janela/frame_controller.js
100
101
  - app/assets/javascripts/janela/vendor/chart.js
102
+ - app/assets/stylesheets/janela.css
101
103
  - app/controllers/janela/application_controller.rb
104
+ - app/controllers/janela/frames_controller.rb
102
105
  - app/controllers/janela/panes_controller.rb
103
- - app/controllers/janela/snapshot_panes_controller.rb
104
- - app/helpers/janela/dashboard_helper.rb
106
+ - app/controllers/janela/queries_controller.rb
107
+ - app/controllers/janela/snapshot_queries_controller.rb
108
+ - app/helpers/janela/frames_helper.rb
105
109
  - app/jobs/janela/snapshot_job.rb
110
+ - app/models/janela/frame.rb
106
111
  - app/models/janela/pane.rb
112
+ - app/models/janela/query.rb
107
113
  - app/models/janela/snapshot.rb
114
+ - app/views/janela/frames/_card.html.erb
115
+ - app/views/janela/frames/_form.html.erb
116
+ - app/views/janela/frames/_frame.html.erb
117
+ - app/views/janela/frames/_pane.html.erb
118
+ - app/views/janela/frames/edit.html.erb
119
+ - app/views/janela/frames/index.html.erb
120
+ - app/views/janela/frames/new.html.erb
121
+ - app/views/janela/frames/show.html.erb
122
+ - app/views/janela/panes/_form.html.erb
123
+ - app/views/janela/panes/_row.html.erb
124
+ - app/views/janela/panes/edit.html.erb
125
+ - app/views/janela/panes/new.html.erb
108
126
  - app/views/janela/panes/show.html.erb
127
+ - app/views/janela/queries/_query.html.erb
128
+ - app/views/janela/queries/show.html.erb
129
+ - app/views/janela/shared/_errors.html.erb
130
+ - app/views/layouts/janela/application.html.erb
109
131
  - config/importmap.rb
132
+ - config/locales/en.yml
110
133
  - config/routes.rb
111
134
  - db/migrate/20260915000001_create_janela_snapshots.rb
135
+ - db/migrate/20260916000001_create_janela_frames.rb
136
+ - db/migrate/20260916000002_create_janela_panes.rb
112
137
  - docs/decisions/001-built-to-be-forked.md
113
138
  - docs/decisions/002-measures-and-dimensions-over-ransack.md
114
139
  - docs/decisions/003-cross-filtering-with-turbo-frames.md
@@ -118,14 +143,29 @@ files:
118
143
  - docs/decisions/007-ordering-and-limits.md
119
144
  - docs/decisions/008-dashboard-filters-in-the-page-url.md
120
145
  - docs/decisions/009-snapshots.md
146
+ - docs/decisions/010-agent-guidance-ships-the-agent-waits.md
147
+ - docs/decisions/011-panes-do-not-render-in-the-host-layout.md
148
+ - docs/decisions/012-frames-and-panes-are-data.md
149
+ - docs/decisions/013-naming-and-addressing-frames.md
150
+ - docs/decisions/014-corrections-before-frames-are-built.md
151
+ - docs/decisions/015-how-breaking-change-is-communicated.md
152
+ - docs/decisions/016-the-styling-vocabulary.md
153
+ - docs/decisions/017-janela-owns-no-data-store.md
154
+ - docs/decisions/018-a-table-is-the-universal-renderer.md
155
+ - docs/decisions/019-a-created-frame-asks-the-host-who-owns-it.md
156
+ - docs/decisions/020-formatting-belongs-to-the-measure.md
157
+ - docs/decisions/021-a-check-has-a-name-a-host-can-silence.md
121
158
  - docs/decisions/INDEX.md
159
+ - docs/multi-tenancy.md
122
160
  - lib/janela.rb
123
161
  - lib/janela/definition.rb
124
162
  - lib/janela/dimension.rb
163
+ - lib/janela/doctor.rb
125
164
  - lib/janela/engine.rb
126
165
  - lib/janela/measure.rb
127
166
  - lib/janela/model.rb
128
167
  - lib/janela/version.rb
168
+ - lib/tasks/janela.rake
129
169
  homepage: https://github.com/retail-tasker/janela
130
170
  licenses:
131
171
  - MIT
@@ -135,6 +175,19 @@ metadata:
135
175
  changelog_uri: https://github.com/retail-tasker/janela/blob/main/CHANGELOG.md
136
176
  bug_tracker_uri: https://github.com/retail-tasker/janela/issues
137
177
  rubygems_mfa_required: 'true'
178
+ post_install_message: |
179
+ Janela 0.3.0 needs two things from you. Run the migrations, because the
180
+ mount root now serves an index of frames:
181
+
182
+ bin/rails janela:install:migrations && bin/rails db:migrate
183
+
184
+ Then rename the Stimulus controller you register, the helper that wraps
185
+ your panes, and a few constants.
186
+
187
+ Steps: UPGRADING.md in this gem, or
188
+ https://github.com/retail-tasker/janela/blob/main/UPGRADING.md
189
+
190
+ Then run: bin/rails janela:doctor
138
191
  rdoc_options: []
139
192
  require_paths:
140
193
  - lib