flask-construct-ui 0.11.2__tar.gz → 0.11.3__tar.gz

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 (93) hide show
  1. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/PKG-INFO +1 -1
  2. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/auth.py +2 -2
  3. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/base.py +17 -13
  4. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/l10n/en/main.flt +8 -1
  5. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/l10n/sv/main.flt +8 -1
  6. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/js/prosemirror-bundle.min.js +17 -17
  7. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/crud/related_crud_tab_list.html +3 -3
  8. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/navbar/search_results.html +1 -1
  9. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/style/base_full.html +1 -1
  10. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/validation.py +19 -4
  11. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui.egg-info/PKG-INFO +1 -1
  12. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/pyproject.toml +1 -1
  13. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/LICENSE +0 -0
  14. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/README.md +0 -0
  15. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/__init__.py +0 -0
  16. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/cli.py +0 -0
  17. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/components.py +0 -0
  18. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/contrast.py +0 -0
  19. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/crud.py +0 -0
  20. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/csrf.py +0 -0
  21. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/data.py +0 -0
  22. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/data_sqlalchemy.py +0 -0
  23. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/forms.py +0 -0
  24. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/grid.py +0 -0
  25. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/headless.py +0 -0
  26. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/icons.py +0 -0
  27. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/language.py +0 -0
  28. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/navbar.py +0 -0
  29. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/navigation.py +0 -0
  30. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/orgmode.py +0 -0
  31. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/pagination.py +0 -0
  32. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/py.typed +0 -0
  33. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/resume.py +0 -0
  34. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/sanitize.py +0 -0
  35. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/schema.py +0 -0
  36. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/css/grid.css +0 -0
  37. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/css/prosemirror-bundle.min.css +0 -0
  38. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/css/unpoly.min.css +0 -0
  39. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/css/whitelabel.css +0 -0
  40. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/designs/adminlte.css +0 -0
  41. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/designs/sandstone.css +0 -0
  42. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/fonts/bootstrap-icons/LICENSE.txt +0 -0
  43. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/fonts/bootstrap-icons/bootstrap-icons.min.css +0 -0
  44. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/fonts/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
  45. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/fonts/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
  46. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/fonts/material-symbols/LICENSE.txt +0 -0
  47. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/fonts/material-symbols/material-symbols-outlined.woff2 +0 -0
  48. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/fonts/material-symbols/material-symbols.css +0 -0
  49. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/js/construct-core.min.js +0 -0
  50. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/js/construct-grid.min.js +0 -0
  51. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/js/kanban-dnd.js +0 -0
  52. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/static/js/unpoly.min.js +0 -0
  53. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/_form_field.html +0 -0
  54. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/button.html +0 -0
  55. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/calendar.html +0 -0
  56. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/calendarmini.html +0 -0
  57. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/card.html +0 -0
  58. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/chart.html +0 -0
  59. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/form.html +0 -0
  60. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/grid.html +0 -0
  61. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/grid_layout.html +0 -0
  62. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/grid_notice.html +0 -0
  63. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/horizontal_layout.html +0 -0
  64. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/kanban.html +0 -0
  65. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/live.html +0 -0
  66. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/main.html +0 -0
  67. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/markup.html +0 -0
  68. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/rich_text.html +0 -0
  69. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/table.html +0 -0
  70. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/tabs.html +0 -0
  71. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/text.html +0 -0
  72. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/components/vertical_layout.html +0 -0
  73. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/crud/_macros.html +0 -0
  74. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/crud/_many_related_options.html +0 -0
  75. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/crud/_related_options.html +0 -0
  76. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/crud/create.html +0 -0
  77. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/crud/edit.html +0 -0
  78. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/crud/listindex.html +0 -0
  79. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/crud/related_crud_tab_form.html +0 -0
  80. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/crud/tab_view.html +0 -0
  81. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/crud/view.html +0 -0
  82. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/errors/forbidden.html +0 -0
  83. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/navbar/notifications.html +0 -0
  84. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/structure/base.html +0 -0
  85. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/structure/public.html +0 -0
  86. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/style/_flashes.html +0 -0
  87. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/templates/style/base_partial.html +0 -0
  88. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui/testing.py +0 -0
  89. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui.egg-info/SOURCES.txt +0 -0
  90. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui.egg-info/dependency_links.txt +0 -0
  91. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui.egg-info/requires.txt +0 -0
  92. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/flask_construct_ui.egg-info/top_level.txt +0 -0
  93. {flask_construct_ui-0.11.2 → flask_construct_ui-0.11.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flask-construct-ui
3
- Version: 0.11.2
3
+ Version: 0.11.3
4
4
  Summary: A UI toolkit for Flask with CRUD and component features.
5
5
  Author-email: Olof Tjerngren <olof@tjerngren.net>
6
6
  License-Expression: LGPL-3.0-or-later
@@ -291,7 +291,7 @@ class FlaskSecurityAuth(AuthProvider):
291
291
 
292
292
  return [
293
293
  {
294
- "label": "Sign out",
294
+ "label": _t("crud-sign-out", "Sign out"),
295
295
  "url": url_for("security.logout"),
296
296
  "icon": "logout",
297
297
  }
@@ -490,7 +490,7 @@ class FlaskOIDCAuth(AuthProvider):
490
490
 
491
491
  return [
492
492
  {
493
- "label": "Sign out",
493
+ "label": _t("crud-sign-out", "Sign out"),
494
494
  "url": url_for(self.logout_endpoint),
495
495
  "icon": "logout",
496
496
  }
@@ -821,22 +821,26 @@ class ExtensionsPage(ComponentPageBase):
821
821
  ]
822
822
  )
823
823
 
824
+ content_comp = (
825
+ components.Table(
826
+ headers=[
827
+ self.t("extensions-name-col"),
828
+ self.t("extensions-package-col"),
829
+ self.t("extensions-version-col"),
830
+ self.t("extensions-status-col"),
831
+ self.t("extensions-desc-col"),
832
+ ],
833
+ rows=rows,
834
+ )
835
+ if rows
836
+ else components.Text(content=self.t("extensions-no-extensions"))
837
+ )
838
+
824
839
  return components.VerticalLayout(
825
840
  components=[
826
841
  components.Card(
827
- title="extensions-title",
828
- components=[
829
- components.Table(
830
- headers=[
831
- self.t("extensions-name-col"),
832
- self.t("extensions-package-col"),
833
- self.t("extensions-version-col"),
834
- self.t("extensions-status-col"),
835
- self.t("extensions-desc-col"),
836
- ],
837
- rows=rows,
838
- )
839
- ],
842
+ title=self.t("extensions-title"),
843
+ components=[content_comp],
840
844
  )
841
845
  ]
842
846
  )
@@ -11,7 +11,7 @@ crud-num-notifications = {$count ->
11
11
  *[other] {$count} Notifications
12
12
  }
13
13
  crud-see-all-notifications = See all notifications
14
- crud-sign-out = Sign-out
14
+ crud-sign-out = Sign out
15
15
  crud-error-creating-item = Error creating item.
16
16
  crud-validation-errors = Please correct the errors below:
17
17
  crud-error-updating-item = Error updating item.
@@ -61,6 +61,7 @@ nav-main = Main navigation
61
61
  nav-sidebar = Sidebar
62
62
  nav-user-tools = User tools
63
63
  nav-search = Search
64
+ nav-search-no-results = No results for "{$query}".
64
65
  nav-notifications = Notifications
65
66
  nav-tabs = Sections
66
67
  nav-pagination = Pagination
@@ -132,6 +133,7 @@ validation-must-be-date = Must be a valid date
132
133
  validation-must-be-datetime = Must be a valid date/time
133
134
  validation-must-be-exactly = Must be exactly '{$literal}'
134
135
  validation-must-match-pattern = Must match pattern /{$pattern}/
136
+ validation-must-match-keyword = Must match keyword '{$keyword}'
135
137
  validation-must-match-one = Must satisfy one of the options
136
138
  validation-must-be-one-of = Must be one of: {$options}
137
139
  validation-string-len-greater = Length must be greater than {$limit} characters
@@ -140,12 +142,14 @@ validation-string-len-equal = Length must be equal to {$limit} characters
140
142
  validation-string-len-not-equal = Length must not be equal to {$limit} characters
141
143
  validation-string-len-at-least = Length must be at least {$limit} characters
142
144
  validation-string-len-at-most = Length must be at most {$limit} characters
145
+ validation-string-len-unknown = Length constraint is not valid ({$limit})
143
146
  validation-number-val-greater = Value must be greater than {$limit}
144
147
  validation-number-val-less = Value must be less than {$limit}
145
148
  validation-number-val-equal = Value must be equal to {$limit}
146
149
  validation-number-val-not-equal = Value must not be equal to {$limit}
147
150
  validation-number-val-at-least = Value must be at least {$limit}
148
151
  validation-number-val-at-most = Value must be at most {$limit}
152
+ validation-number-val-unknown = Value constraint is not valid ({$limit})
149
153
 
150
154
  extensions-title = System Extensions
151
155
  extensions-name-col = Extension Name
@@ -155,3 +159,6 @@ extensions-status-col = Status
155
159
  extensions-desc-col = Details / Entry Point
156
160
  extensions-no-extensions = No extensions registered via entry points.
157
161
 
162
+ Manage = Manage
163
+ Extensions = Extensions
164
+
@@ -43,7 +43,7 @@ crud-view-button = Visa
43
43
  crud-delete-button = Ta bort
44
44
  crud-remove-item = Ta bort
45
45
  crud-close = Stäng
46
- crud-apply-filter = Använd
46
+ crud-apply-filter = Tillämpa
47
47
  crud-advanced-filter = Avancerat filter
48
48
  crud-simple-search = Enkel sökning
49
49
  alert-success = Lyckades
@@ -62,6 +62,7 @@ nav-main = Huvudnavigering
62
62
  nav-sidebar = Sidopanel
63
63
  nav-user-tools = Användarverktyg
64
64
  nav-search = Sök
65
+ nav-search-no-results = Inga resultat för "{$query}".
65
66
  nav-notifications = Notifieringar
66
67
  nav-tabs = Avsnitt
67
68
  nav-pagination = Paginering
@@ -133,6 +134,7 @@ validation-must-be-date = Måste vara ett giltigt datum
133
134
  validation-must-be-datetime = Måste vara ett giltigt datum/klockslag
134
135
  validation-must-be-exactly = Måste vara exakt '{$literal}'
135
136
  validation-must-match-pattern = Måste matcha mönstret /{$pattern}/
137
+ validation-must-match-keyword = Måste matcha nyckelordet '{$keyword}'
136
138
  validation-must-match-one = Måste uppfylla ett av alternativen
137
139
  validation-must-be-one-of = Måste vara ett av: {$options}
138
140
  validation-string-len-greater = Längden måste vara större än {$limit} tecken
@@ -141,12 +143,14 @@ validation-string-len-equal = Längden måste vara exakt {$limit} tecken
141
143
  validation-string-len-not-equal = Längden får inte vara {$limit} tecken
142
144
  validation-string-len-at-least = Längden måste vara minst {$limit} tecken
143
145
  validation-string-len-at-most = Längden får vara högst {$limit} tecken
146
+ validation-string-len-unknown = Längdvillkoret är ogiltigt ({$limit})
144
147
  validation-number-val-greater = Värdet måste vara större än {$limit}
145
148
  validation-number-val-less = Värdet måste vara mindre än {$limit}
146
149
  validation-number-val-equal = Värdet måste vara lika med {$limit}
147
150
  validation-number-val-not-equal = Värdet får inte vara lika med {$limit}
148
151
  validation-number-val-at-least = Värdet måste vara minst {$limit}
149
152
  validation-number-val-at-most = Värdet får vara högst {$limit}
153
+ validation-number-val-unknown = Värdevillkoret är ogiltigt ({$limit})
150
154
 
151
155
  extensions-title = Systemtillägg
152
156
  extensions-name-col = Tilläggsnamn
@@ -156,3 +160,6 @@ extensions-status-col = Status
156
160
  extensions-desc-col = Detaljer / Entry Point
157
161
  extensions-no-extensions = Inga tillägg registrerade via entry points.
158
162
 
163
+ Manage = Hantera
164
+ Extensions = Tillägg
165
+