mensa 0.2.3 → 0.2.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d7cb98df22a002a08d25141f67df7807ebf5f2eb102831db09614f7de86b8772
4
- data.tar.gz: 301c827f9ed63c1acb745359202021723df9142e03ee190a75312b01f6642fe1
3
+ metadata.gz: b7b9a5dec3359255923794b7bdfd7b0cec906b52748b716da89607b808fac351
4
+ data.tar.gz: 5551eb56bb39d24c96d266d3e18b5869066ea0128ae53f40818f579480b8f747
5
5
  SHA512:
6
- metadata.gz: a0886a37e4ac9a8d75e083d0cbd3f5ff7475990d1d8dbff823f61bfcca19485834e58e108b203061442350e5ddef3ab4fec1b9c5550c05c9bea33c4457051998
7
- data.tar.gz: 1452161b4a0b0f257c715171bb1bd1a129ffcb8cff2591d6cf0e67fee42bb01f67ef81cb36e98755f5537308c30f9dd840965016311439120e1ff4fc3b724090
6
+ metadata.gz: 44287cc7a421ce54a9a7ec8185fa5f73de4e16a69ce930cde7eb2fa72f6f13dc9f86d541851362752f3f45daf5872455775493129e18eef3c38ec5239feed169
7
+ data.tar.gz: c7f03bdcdb3dbe0640e83097d7f6fca629fe69fa3ec65d6b8315f498fbe0e9fc5e633ef99a94d699fc223fc576c58fb8512dd6ac0684655a43b31b282e5353f9
data/Gemfile CHANGED
@@ -14,6 +14,7 @@ gem "selenium-webdriver", "~> 4.17"
14
14
  gem "slim", "~> 5.2"
15
15
  gem "debug"
16
16
  gem "overmind", require: false
17
+ gem "rack-mini-profiler"
17
18
 
18
19
  group :development, :test do
19
20
  gem "standard", require: false
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mensa (0.2.2)
4
+ mensa (0.2.3)
5
5
  caxlsx_rails (~> 0)
6
6
  importmap-rails
7
7
  pagy (>= 43)
@@ -220,6 +220,8 @@ GEM
220
220
  nio4r (~> 2.0)
221
221
  racc (1.8.1)
222
222
  rack (3.2.4)
223
+ rack-mini-profiler (4.0.1)
224
+ rack (>= 1.2.0)
223
225
  rack-session (2.1.1)
224
226
  base64 (>= 0.1.0)
225
227
  rack (>= 3.0.0)
@@ -410,6 +412,7 @@ DEPENDENCIES
410
412
  overmind
411
413
  pry
412
414
  puma
415
+ rack-mini-profiler
413
416
  rubocop-rails
414
417
  ruby-lsp
415
418
  ruby-lsp-rails
data/README.md CHANGED
@@ -141,6 +141,10 @@ The Mensa::Table::Component will render:
141
141
  - Mensa::Views::Component
142
142
  - renders a views list
143
143
  - Mensa::ControlBar::Component
144
+ - search icon
145
+ - filter icon
146
+ - condensed toggle
147
+ - export icon
144
148
  - turbo-frame with the actual table you see (which is rendered by Mensa::View::Component)
145
149
 
146
150
  ## Installation
@@ -1,6 +1,6 @@
1
1
  .sts-table__add_filter data-controller="mensa-add-filter" data-mensa-add-filter-mensa-table-outlet=".mensa-table#table-#{table.table_id}"
2
- button.relative.w-full.cursor-default.rounded-md.bg-white.dark:bg-gray-800.py-1.5.pl-3.pr-6.text-left.text-gray-900.dark:text-gray-400.shadow-sm.border.border-dashed.focus:outline-none.focus:ring-2.focus:ring-primary-600.sm:text-sm.sm:leading-6 type="button" data-action="mensa-add-filter#toggle"
3
- span.block.truncate data-mensa-add-filter-target="description"
2
+ button.relative.w-full.cursor-default.rounded-md.bg-white.dark:bg-gray-800.py-1.5.pl-3.pr-6.text-left.text-gray-400.dark:text-gray-400.shadow-sm.border.border-dashed.focus:outline-none.focus:ring-2.focus:ring-primary-600.sm:text-sm.sm:leading-6 type="button" data-action="mensa-add-filter#toggle"
3
+ span.mr-2.block.truncate data-mensa-add-filter-target="description"
4
4
  = t('.add_filter')
5
5
  span.pointer-events-none.absolute.inset-y-0.right-0.flex.items-center.pr-2
6
6
  div class=Mensa.config.icons[:filters_add_filter]
@@ -9,6 +9,6 @@
9
9
  span.block.truncate.pr-6
10
10
  = filter
11
11
  span.pointer-events-none.absolute.inset-y-0.right-0.flex.items-center.pr-2
12
- .fal.fa-angle-down
12
+ .fa.fal.fa-angle-down
13
13
 
14
14
  = render Mensa::AddFilter::Component.new(table: table)
@@ -10,4 +10,13 @@
10
10
  @apply bg-gray-300 text-gray-800 dark:bg-gray-500 hover:bg-gray-400;
11
11
  }
12
12
  }
13
- }
13
+ }
14
+
15
+ .tippy-box[data-theme~='mensa'] {
16
+ @apply bg-gray-200 text-gray-800 dark:text-gray-400;
17
+ }
18
+
19
+ .tippy-box[data-theme~='mensa'] .tippy-arrow {
20
+ @apply text-gray-200;
21
+ }
22
+
@@ -9,7 +9,7 @@
9
9
  nav.flex.justify-between[aria-label="Tabs"]
10
10
  .flex.space-x-2.overflow-x-auto.whitespace-nowrap.scroll-p-0
11
11
  - table.all_views.each.with_index do |view, index|
12
- = link_to(table.path(table_view_id: view.id, turbo_frame_id: table.table_id), "data-turbo-frame": table.table_id, class: "view #{(view.id == table.table_view&.id || view.id == :all && table.table_view.blank?) ? 'selected' : ''}", data: {"mensa-views-target": "view", action: "mensa-views#select"}) do
12
+ = link_to(table.path(table_view_id: view.id, turbo_frame_id: table.table_id), "data-turbo-frame": table.table_id, class: "view #{(view.id == table.table_view&.id || view.id == :all && table.table_view.blank?) ? 'selected' : ''}", data: {"mensa-views-target": "view", action: "mensa-views#select", "tippy-content": view.description}) do
13
13
  = view.name
14
14
 
15
15
  - if table.supports_custom_views?
@@ -1,10 +1,19 @@
1
1
  import ApplicationController from 'mensa/controllers/application_controller'
2
+ import tippy from 'tippy.js'
2
3
 
3
4
  export default class ViewsComponentController extends ApplicationController {
4
5
  static targets = [
5
6
  'view',
6
7
  ]
7
8
 
9
+ connect() {
10
+ tippy('[data-controller="mensa-views"] [data-tippy-content]', {
11
+ placement: "top",
12
+ theme: 'mensa',
13
+ offset: [0, 8]
14
+ });
15
+ }
16
+
8
17
  select(event) {
9
18
  this.viewTargets.forEach((element) => {
10
19
  (element === event.target) ? element.classList.add('selected') : element.classList.remove('selected')
@@ -9,7 +9,7 @@ module Mensa
9
9
  if params[:table_view_id]
10
10
  @view = Mensa::TableView.find_by(table_name: params[:id], id: params[:table_view_id])
11
11
  @view ||= @table.system_views.find { |v| v.id == params[:table_view_id].to_sym }
12
- config = @view&.data
12
+ config = @view&.config
13
13
  end
14
14
 
15
15
  config = config.merge(params.permit!.to_h)
@@ -3,6 +3,7 @@ module Mensa::Config
3
3
  include DslLogic
4
4
 
5
5
  option :name
6
+ option :description
6
7
  option :filter, dsl_hash: Mensa::Config::FilterDsl
7
8
  end
8
9
  end
@@ -20,7 +20,6 @@ module Mensa
20
20
  end
21
21
 
22
22
  config_reader :name
23
-
24
- alias_method :data, :config
23
+ config_reader :description
25
24
  end
26
25
  end
@@ -0,0 +1,6 @@
1
+ class AddDescriptionToTableView < ActiveRecord::Migration[8.0]
2
+ def change
3
+ add_column :mensa_table_views, :description, :string
4
+ rename_column :mensa_table_views, :data, :config
5
+ end
6
+ end
data/lib/mensa/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mensa
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mensa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom de Grunt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-11-11 00:00:00.000000000 Z
11
+ date: 2025-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: caxlsx_rails
@@ -272,6 +272,7 @@ files:
272
272
  - config/locales/nl.yml
273
273
  - config/routes.rb
274
274
  - db/migrate/20240201184752_create_mensa_table_views.rb
275
+ - db/migrate/20251112143558_add_description_to_table_view.rb
275
276
  - docs/filters.png
276
277
  - docs/table.png
277
278
  - lib/generators/mensa/install_generator.rb