lesli_dashboard 0.3.0 → 0.4.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.
@@ -1,21 +1,2 @@
1
1
  ---
2
- :en:
3
- lesli:
4
- shared:
5
- view_discussions: Discussions
6
- button_add_new: Add new
7
- button_reload: Reload
8
- view_files: Files
9
- view_quick_actions: Quick actions
10
- button_list: List
11
- button_save: Save
12
- button_delete: Delete
13
- button_edit: Edit
14
- view_status_active: Active
15
- view_status_inactive: Inactive
16
- button_settings: Settings
17
- button_show: Show
18
- toolbar_search: Search...
19
- application:
20
- navigation_logout: Logout
21
- navigation_my_profile: My profile
2
+ :en: {}
@@ -1,21 +1,2 @@
1
1
  ---
2
- :es:
3
- lesli:
4
- shared:
5
- view_discussions: Discusiones
6
- button_add_new: Agregar nuevo
7
- button_reload: Recargar
8
- view_files: Archivos
9
- view_quick_actions: Acciones rapidas
10
- button_list: Lista
11
- button_save: Guardar
12
- button_delete: Eliminar
13
- button_edit: Editar
14
- view_status_active: Activo
15
- view_status_inactive: Inactivo
16
- button_settings: Configuración
17
- button_show: Ver
18
- toolbar_search: Buscar...
19
- application:
20
- navigation_logout: Cerrar sesión
21
- navigation_my_profile: Mi perfil
2
+ :es: {}
@@ -1,21 +1,2 @@
1
1
  ---
2
- :fr:
3
- lesli:
4
- shared:
5
- view_discussions: ":lesli.shared.view_discussions:"
6
- button_add_new: ":lesli.shared.button_add_new:"
7
- button_reload: ":lesli.shared.button_reload:"
8
- view_files: ":lesli.shared.view_files:"
9
- view_quick_actions: ":lesli.shared.view_quick_actions:"
10
- button_list: ":lesli.shared.button_list:"
11
- button_save: ":lesli.shared.button_save:"
12
- button_delete: ":lesli.shared.button_delete:"
13
- button_edit: ":lesli.shared.button_edit:"
14
- view_status_active: ":lesli.shared.view_status_active:"
15
- view_status_inactive: ":lesli.shared.view_status_inactive:"
16
- button_settings: ":lesli.shared.button_settings:"
17
- button_show: ":lesli.shared.button_show:"
18
- toolbar_search: ":lesli.shared.toolbar_search:"
19
- application:
20
- navigation_logout: ":lesli.application.navigation_logout:"
21
- navigation_my_profile: ":lesli.application.navigation_my_profile:"
2
+ :fr: {}
@@ -1,21 +1,2 @@
1
1
  ---
2
- :it:
3
- lesli:
4
- shared:
5
- view_discussions: ":lesli.shared.view_discussions:"
6
- button_add_new: ":lesli.shared.button_add_new:"
7
- button_reload: ":lesli.shared.button_reload:"
8
- view_files: ":lesli.shared.view_files:"
9
- view_quick_actions: ":lesli.shared.view_quick_actions:"
10
- button_list: ":lesli.shared.button_list:"
11
- button_save: ":lesli.shared.button_save:"
12
- button_delete: ":lesli.shared.button_delete:"
13
- button_edit: ":lesli.shared.button_edit:"
14
- view_status_active: ":lesli.shared.view_status_active:"
15
- view_status_inactive: ":lesli.shared.view_status_inactive:"
16
- button_settings: ":lesli.shared.button_settings:"
17
- button_show: ":lesli.shared.button_show:"
18
- toolbar_search: ":lesli.shared.toolbar_search:"
19
- application:
20
- navigation_logout: ":lesli.application.navigation_logout:"
21
- navigation_my_profile: ":lesli.application.navigation_my_profile:"
2
+ :it: {}
@@ -1,21 +1,2 @@
1
1
  ---
2
- :pt:
3
- lesli:
4
- shared:
5
- view_discussions: ":lesli.shared.view_discussions:"
6
- button_add_new: ":lesli.shared.button_add_new:"
7
- button_reload: ":lesli.shared.button_reload:"
8
- view_files: ":lesli.shared.view_files:"
9
- view_quick_actions: ":lesli.shared.view_quick_actions:"
10
- button_list: ":lesli.shared.button_list:"
11
- button_save: ":lesli.shared.button_save:"
12
- button_delete: ":lesli.shared.button_delete:"
13
- button_edit: ":lesli.shared.button_edit:"
14
- view_status_active: ":lesli.shared.view_status_active:"
15
- view_status_inactive: ":lesli.shared.view_status_inactive:"
16
- button_settings: ":lesli.shared.button_settings:"
17
- button_show: ":lesli.shared.button_show:"
18
- toolbar_search: ":lesli.shared.toolbar_search:"
19
- application:
20
- navigation_logout: ":lesli.application.navigation_logout:"
21
- navigation_my_profile: ":lesli.application.navigation_my_profile:"
2
+ :pt: {}
data/config/routes.rb CHANGED
@@ -31,17 +31,6 @@ Building a better future, one line of code at a time.
31
31
  =end
32
32
 
33
33
  LesliDashboard::Engine.routes.draw do
34
- root to: "dashboards#show"
35
-
36
- # Dashboard management
37
- resource :dashboard, only: [:show]
38
- resources :dashboards do
39
- collection do
40
- post "list" => :index
41
- get :options
42
- end
43
- scope module: :dashboard do
44
- resources :components
45
- end
46
- end
34
+ Lesli::Routing.mount_dashboard_for(LesliDashboard)
35
+ get "up" => "/rails/health#show"
47
36
  end
@@ -32,11 +32,6 @@ Building a better future, one line of code at a time.
32
32
 
33
33
  class CreateLesliDashboardAccounts < ActiveRecord::Migration[6.0]
34
34
  def change
35
- create_table :lesli_dashboard_accounts do |t|
36
- t.integer :status
37
- t.datetime :deleted_at, index: true
38
- t.timestamps
39
- end
40
- add_reference(:lesli_dashboard_accounts, :account, foreign_key: { to_table: :lesli_accounts })
35
+ create_table_lesli_shared_account_10(:lesli_dashboard)
41
36
  end
42
37
  end
@@ -32,20 +32,6 @@ Building a better future, one line of code at a time.
32
32
 
33
33
  class CreateLesliDashboardDashboards < ActiveRecord::Migration[6.1]
34
34
  def change
35
- gem_path = Lesli::System.engine("Lesli", "dir")
36
- table_base_structure = JSON.parse(File.read(File.join(gem_path, "db", "structure", "00000501_dashboards.json")))
37
- create_table :lesli_dashboard_dashboards do |t|
38
- table_base_structure.each do |column|
39
- t.send(
40
- column["type"].parameterize.underscore.to_sym,
41
- column["name"].parameterize.underscore.to_sym
42
- )
43
- end
44
- t.timestamps
45
- end
46
-
47
- add_reference(:lesli_dashboard_dashboards, :account, foreign_key: { to_table: :lesli_dashboard_accounts })
48
- add_reference(:lesli_dashboard_dashboards, :user, foreign_key: { to_table: :lesli_users })
49
- #add_reference(:lesli_admin_dashboards, :role, foreign_key: { to_table: :roles })
35
+ create_table_lesli_shared_dashboards_10(:lesli_dashboard)
50
36
  end
51
37
  end
@@ -1,4 +1,4 @@
1
1
  module LesliDashboard
2
- VERSION = "0.3.0"
3
- BUILD = "1713121383"
2
+ VERSION = "0.4.0"
3
+ BUILD = "1751546554"
4
4
  end
@@ -0,0 +1,13 @@
1
+ @import "Lesli/scss/templates/component";
2
+
3
+ .widgets {
4
+ .column {
5
+ div {
6
+ text-align: center;
7
+ border-radius: 8px;
8
+ padding: 2rem .5rem;
9
+ border: 1px solid lesli-css-color(silver, 300);
10
+ background-color: lesli-css-color(silver, 100);
11
+ }
12
+ }
13
+ }
@@ -49,7 +49,7 @@ import appDashboardEdit from "Lesli/vue/shared/dashboards/apps/edit.vue"
49
49
 
50
50
 
51
51
  // ·
52
- import componentDashboardLesliVersion from "LesliAdmin/vue/apps/dashboards/components/lesli-version.vue"
52
+ import componentDashboardLesliVersion from "LesliDashboard/vue/apps/dashboards/components/lesli-version.vue"
53
53
 
54
54
 
55
55
  // ·
@@ -28,9 +28,27 @@ onMounted(()=>{
28
28
  <lesli-application-container>
29
29
  <section class="lesli-element-header is-flex mt-6">
30
30
  <div class="lesli-element-header-title">
31
- <h1 class="subtitle is-3 mb-0">{{welcomeText}}, {{ lesli.current_user?.name }}</h1>
31
+ <h1 class="subtitle is-size-3 mb-0">{{welcomeText}}, {{ lesli.current_user?.name }}</h1>
32
32
  <p class="">{{ dayjs().format("dddd, MMMM D") }}.</p>
33
33
  </div>
34
34
  </section>
35
+
36
+ <section class="widgets">
37
+ <div class="columns is-multiline">
38
+ <div class="column is-2"><div>2</div></div>
39
+ <div class="column is-2"><div>2</div></div>
40
+ <div class="column is-2"><div>2</div></div>
41
+ <div class="column is-2"><div>2</div></div>
42
+ <div class="column is-2"><div>2</div></div>
43
+ <div class="column is-2"><div>2</div></div>
44
+
45
+ <div class="column is-4"><div>4</div></div>
46
+ <div class="column is-4"><div>4</div></div>
47
+ <div class="column is-4"><div>4</div></div>
48
+
49
+ <div class="column is-6"><div>6</div></div>
50
+ <div class="column is-6"><div>6</div></div>
51
+ </div>
52
+ </section>
35
53
  </lesli-application-container>
36
54
  </template>
@@ -1,5 +1,5 @@
1
- =begin
2
-
1
+ <script setup>
2
+ /*
3
3
  Lesli
4
4
 
5
5
  Copyright (c) 2023, Lesli Technologies, S. A.
@@ -28,26 +28,44 @@ Building a better future, one line of code at a time.
28
28
 
29
29
  // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
30
  // ·
31
- =end
32
-
33
- class CreateLesliDashboardDashboardComponents < ActiveRecord::Migration[6.1]
34
- def change
35
- gem_path = Lesli::System.engine("Lesli", "dir")
36
- table_base_structure = JSON.parse(File.read(File.join(gem_path, "db", "structure", "00000502_dashboard_components.json")))
37
- create_table :lesli_dashboard_dashboard_components do |t|
38
- table_base_structure.each do |column|
39
- t.send(
40
- column["type"].parameterize.underscore.to_sym,
41
- column["name"].parameterize.underscore.to_sym
42
- )
43
- end
44
- t.timestamps
45
- end
46
-
47
- add_reference(
48
- :lesli_dashboard_dashboard_components, :dashboard,
49
- foreign_key: { to_table: :lesli_dashboard_dashboards },
50
- index: { name: "lesli_dashboard_dashboard_components_dashboards" }
51
- )
52
- end
53
- end
31
+ */
32
+
33
+
34
+ // ·
35
+ import { onMounted, inject, ref } from "vue"
36
+
37
+
38
+ // ·
39
+ const url = inject("url")
40
+ const http = inject("http")
41
+
42
+
43
+ // ·
44
+ const lesliVersion = ref({
45
+ name: "",
46
+ code: "",
47
+ path: "",
48
+ version: "",
49
+ build: ""
50
+ })
51
+
52
+
53
+ // ·
54
+ onMounted(() => {
55
+ http.get(url.lesli("about")).then(result => {
56
+ lesliVersion.value = result.find(engine => engine.name == "Lesli")
57
+ }).catch(error => {
58
+ console.log(error)
59
+ })
60
+ })
61
+ </script>
62
+ <template>
63
+ <lesli-card>
64
+ <h6 class="title is-6 mb-2">
65
+ {{ lesliVersion.name }}
66
+ </h6>
67
+ <p class="p-0 m-0">version: {{ lesliVersion.version }}</p>
68
+ <p class="p-0 m-0">buid: {{ lesliVersion.build }}</p>
69
+ <p class="p-0 m-0">path: {{ lesliVersion.path }}</p>
70
+ </lesli-card>
71
+ </template>
@@ -20,6 +20,8 @@
20
20
  "button_save": "Save",
21
21
  "button_settings": "Settings",
22
22
  "button_show": "Show",
23
+ "message_operation_error": "Operation failed. Please try again.",
24
+ "message_operation_success": "Operation completed successfully",
23
25
  "toolbar_search": "Search...",
24
26
  "view_discussions": "Discussions",
25
27
  "view_files": "Files",
@@ -50,6 +52,8 @@
50
52
  "button_save": "Guardar",
51
53
  "button_settings": "Configuración",
52
54
  "button_show": "Ver",
55
+ "message_operation_error": "Operación fallida. Por favor, inténtelo de nuevo.",
56
+ "message_operation_success": "Operacion realizada satisfactoriamente",
53
57
  "toolbar_search": "Buscar...",
54
58
  "view_discussions": "Discusiones",
55
59
  "view_files": "Archivos",
@@ -80,6 +84,8 @@
80
84
  "button_save": ":lesli.shared.button_save:",
81
85
  "button_settings": ":lesli.shared.button_settings:",
82
86
  "button_show": ":lesli.shared.button_show:",
87
+ "message_operation_error": ":lesli.shared.message_operation_error:",
88
+ "message_operation_success": ":lesli.shared.message_operation_success:",
83
89
  "toolbar_search": ":lesli.shared.toolbar_search:",
84
90
  "view_discussions": ":lesli.shared.view_discussions:",
85
91
  "view_files": ":lesli.shared.view_files:",
@@ -110,6 +116,8 @@
110
116
  "button_save": ":lesli.shared.button_save:",
111
117
  "button_settings": ":lesli.shared.button_settings:",
112
118
  "button_show": ":lesli.shared.button_show:",
119
+ "message_operation_error": ":lesli.shared.message_operation_error:",
120
+ "message_operation_success": ":lesli.shared.message_operation_success:",
113
121
  "toolbar_search": ":lesli.shared.toolbar_search:",
114
122
  "view_discussions": ":lesli.shared.view_discussions:",
115
123
  "view_files": ":lesli.shared.view_files:",
@@ -140,6 +148,8 @@
140
148
  "button_save": ":lesli.shared.button_save:",
141
149
  "button_settings": ":lesli.shared.button_settings:",
142
150
  "button_show": ":lesli.shared.button_show:",
151
+ "message_operation_error": ":lesli.shared.message_operation_error:",
152
+ "message_operation_success": ":lesli.shared.message_operation_success:",
143
153
  "toolbar_search": ":lesli.shared.toolbar_search:",
144
154
  "view_discussions": ":lesli.shared.view_discussions:",
145
155
  "view_files": ":lesli.shared.view_files:",
data/readme.md CHANGED
@@ -1,15 +1,25 @@
1
- <p align="center">
2
- <img width="90" alt="LesliDashboard logo" src="./app/assets/images/lesli_dashboard/dashboard-logo.svg" />
3
- <h3 align="center">Administration area for the Lesli Framework.</h3>
4
- </p>
1
+ <div align="center" class="documentation-header">
2
+ <img width="100" alt="LesliDashboard logo" src="./app/assets/images/lesli_dashboard/dashboard-logo.svg" />
3
+ <h3 align="center">Dashboard Management Lesli Framework.</h3>
4
+ </div>
5
5
 
6
+ <br />
6
7
  <hr/>
7
- <p align="center">
8
- <a target="blank" href="https://rubygems.org/gems/lesli_dashboard">
9
- <img src="https://badge.fury.io/rb/lesli_dashboard.svg" alt="Gem Version" height="24">
10
- </a>
11
- </p>
8
+
9
+ <div align="center" class="documentation-statics">
10
+ <a target="blank" href="https://rubygems.org/gems/lesli">
11
+ <img height="22" alt="Gem Version" src="https://badge.fury.io/rb/lesli.svg"/>
12
+ </a>
13
+ <a class="mx-2" href="https://codecov.io/github/LesliTech/Lesli">
14
+ <img height="22" src="https://codecov.io/github/LesliTech/Lesli/graph/badge.svg?token=2O12NENK5Y"/>
15
+ </a>
16
+ <a href="https://codecov.io/github/LesliTech/LesliBabel">
17
+ <img height="22" src="https://sonarcloud.io/api/project_badges/measure?project=LesliTech_LesliBabel&metric=sqale_rating"/>
18
+ </a>
19
+ </div>
20
+
12
21
  <hr/>
22
+ <br />
13
23
 
14
24
  ### Quick start
15
25
 
@@ -39,14 +49,14 @@ end
39
49
 
40
50
  ### Get in touch with Lesli
41
51
 
42
- * [Website: https://www.lesli.tech](https://www.lesli.tech)
43
52
  * [Email: hello@lesli.tech](hello@lesli.tech)
53
+ * [Website: https://www.lesli.tech](https://www.lesli.tech)
44
54
  * [Twitter: @LesliTech](https://twitter.com/LesliTech)
45
55
 
46
56
 
47
57
  ### License
48
58
  -------
49
- Copyright (c) 2023, Lesli Technologies, S. A.
59
+ Copyright (c) 2025, Lesli Technologies, S. A.
50
60
 
51
61
  This program is free software: you can redistribute it and/or modify
52
62
  it under the terms of the GNU General Public License as published by
@@ -64,8 +74,7 @@ along with this program. If not, see http://www.gnu.org/licenses/.
64
74
  <hr />
65
75
  <br />
66
76
 
67
- <p align="center">
77
+ <div align="center" class="has-text-centered">
68
78
  <img width="200" alt="Lesli logo" src="https://cdn.lesli.tech/lesli/brand/app-logo.svg" />
69
- <h4 align="center">Ruby on Rails SaaS Development Framework.</h4>
70
- </p>
71
-
79
+ <h4 align="center" class="mt-0">Ruby on Rails SaaS Development Framework.</h4>
80
+ </div>
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lesli_dashboard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Lesli Development Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-10 00:00:00.000000000 Z
11
+ date: 2025-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 7.0.6
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 7.0.6
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: lesli
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -73,7 +59,6 @@ files:
73
59
  - config/routes.rb
74
60
  - db/migrate/0306000110_create_lesli_dashboard_accounts.rb
75
61
  - db/migrate/0306050110_create_lesli_dashboard_dashboards.rb
76
- - db/migrate/0306050210_create_lesli_dashboard_dashboard_components.rb
77
62
  - lib/lesli_dashboard.rb
78
63
  - lib/lesli_dashboard/engine.rb
79
64
  - lib/lesli_dashboard/version.rb
@@ -81,6 +66,7 @@ files:
81
66
  - lib/tasks/lesli_dashboard_tasks.rake
82
67
  - lib/vue/application.js
83
68
  - lib/vue/apps/assistant/show.vue
69
+ - lib/vue/apps/dashboards/components/lesli-version.vue
84
70
  - lib/vue/stores/translations.json
85
71
  - license
86
72
  - readme.md
@@ -99,14 +85,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
99
85
  requirements:
100
86
  - - ">="
101
87
  - !ruby/object:Gem::Version
102
- version: '2.7'
88
+ version: '0'
103
89
  required_rubygems_version: !ruby/object:Gem::Requirement
104
90
  requirements:
105
91
  - - ">="
106
92
  - !ruby/object:Gem::Version
107
93
  version: '0'
108
94
  requirements: []
109
- rubygems_version: 3.3.7
95
+ rubygems_version: 3.4.19
110
96
  signing_key:
111
97
  specification_version: 4
112
98
  summary: Administration area for the Lesli Framework