plain.admin 0.33.2__tar.gz → 0.34.0__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 (92) hide show
  1. {plain_admin-0.33.2 → plain_admin-0.34.0}/.gitignore +1 -0
  2. {plain_admin-0.33.2 → plain_admin-0.34.0}/PKG-INFO +1 -1
  3. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/CHANGELOG.md +11 -0
  4. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/assets/toolbar/toolbar.js +33 -0
  5. {plain_admin-0.33.2 → plain_admin-0.34.0}/pyproject.toml +1 -1
  6. {plain_admin-0.33.2 → plain_admin-0.34.0}/LICENSE +0 -0
  7. {plain_admin-0.33.2 → plain_admin-0.34.0}/README.md +0 -0
  8. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/README.md +0 -0
  9. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/__init__.py +0 -0
  10. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/assets/admin/admin.css +0 -0
  11. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/assets/admin/admin.js +0 -0
  12. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/assets/admin/list.js +0 -0
  13. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/assets/admin/vendor/chart.js +0 -0
  14. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/assets/admin/vendor/jquery-3.6.1.slim.min.js +0 -0
  15. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/assets/admin/vendor/popper.min.js +0 -0
  16. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/assets/admin/vendor/tippy-bundle.umd.min.js +0 -0
  17. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/cards/__init__.py +0 -0
  18. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/cards/base.py +0 -0
  19. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/cards/charts.py +0 -0
  20. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/cards/tables.py +0 -0
  21. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/config.py +0 -0
  22. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/dates.py +0 -0
  23. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/default_settings.py +0 -0
  24. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/impersonate/README.md +0 -0
  25. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/impersonate/__init__.py +0 -0
  26. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/impersonate/middleware.py +0 -0
  27. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/impersonate/permissions.py +0 -0
  28. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/impersonate/settings.py +0 -0
  29. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/impersonate/urls.py +0 -0
  30. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/impersonate/views.py +0 -0
  31. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/middleware.py +0 -0
  32. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/querystats/README.md +0 -0
  33. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/querystats/__init__.py +0 -0
  34. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/querystats/core.py +0 -0
  35. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/querystats/middleware.py +0 -0
  36. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/querystats/urls.py +0 -0
  37. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/querystats/views.py +0 -0
  38. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/base.html +0 -0
  39. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/cards/base.html +0 -0
  40. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/cards/card.html +0 -0
  41. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/cards/chart.html +0 -0
  42. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/cards/table.html +0 -0
  43. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/delete.html +0 -0
  44. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/detail.html +0 -0
  45. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/index.html +0 -0
  46. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/list.html +0 -0
  47. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/page.html +0 -0
  48. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/search.html +0 -0
  49. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/values/UUID.html +0 -0
  50. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/values/bool.html +0 -0
  51. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/values/datetime.html +0 -0
  52. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/values/default.html +0 -0
  53. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/values/dict.html +0 -0
  54. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/values/get_display.html +0 -0
  55. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/values/img.html +0 -0
  56. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/values/list.html +0 -0
  57. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/values/model.html +0 -0
  58. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/admin/values/queryset.html +0 -0
  59. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/elements/admin/Checkbox.html +0 -0
  60. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/elements/admin/CheckboxField.html +0 -0
  61. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/elements/admin/FieldErrors.html +0 -0
  62. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/elements/admin/Help.html +0 -0
  63. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/elements/admin/Input.html +0 -0
  64. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/elements/admin/InputField.html +0 -0
  65. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/elements/admin/Label.html +0 -0
  66. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/elements/admin/Select.html +0 -0
  67. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/elements/admin/SelectField.html +0 -0
  68. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/elements/admin/Submit.html +0 -0
  69. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/elements/admin/Textarea.html +0 -0
  70. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/elements/admin/TextareaField.html +0 -0
  71. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/querystats/querystats.html +0 -0
  72. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/querystats/toolbar.html +0 -0
  73. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/toolbar/exception.html +0 -0
  74. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/toolbar/querystats.html +0 -0
  75. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/toolbar/request.html +0 -0
  76. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates/toolbar/toolbar.html +0 -0
  77. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/templates.py +0 -0
  78. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/toolbar.py +0 -0
  79. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/urls.py +0 -0
  80. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/views/__init__.py +0 -0
  81. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/views/base.py +0 -0
  82. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/views/models.py +0 -0
  83. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/views/objects.py +0 -0
  84. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/views/registry.py +0 -0
  85. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/views/types.py +0 -0
  86. {plain_admin-0.33.2 → plain_admin-0.34.0}/plain/admin/views/viewsets.py +0 -0
  87. {plain_admin-0.33.2 → plain_admin-0.34.0}/tests/app/settings.py +0 -0
  88. {plain_admin-0.33.2 → plain_admin-0.34.0}/tests/app/urls.py +0 -0
  89. {plain_admin-0.33.2 → plain_admin-0.34.0}/tests/app/users/migrations/0001_initial.py +0 -0
  90. {plain_admin-0.33.2 → plain_admin-0.34.0}/tests/app/users/migrations/__init__.py +0 -0
  91. {plain_admin-0.33.2 → plain_admin-0.34.0}/tests/app/users/models.py +0 -0
  92. {plain_admin-0.33.2 → plain_admin-0.34.0}/tests/test_admin.py +0 -0
@@ -18,3 +18,4 @@ plain*/tests/.plain
18
18
  .plain
19
19
 
20
20
  coverage.xml
21
+ .vscode
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plain.admin
3
- Version: 0.33.2
3
+ Version: 0.34.0
4
4
  Summary: Admin dashboard and tools for Plain.
5
5
  Author-email: Dave Gaeddert <dave.gaeddert@dropseed.dev>
6
6
  License-Expression: BSD-3-Clause
@@ -1,5 +1,16 @@
1
1
  # plain-admin changelog
2
2
 
3
+ ## [0.34.0](https://github.com/dropseed/plain/releases/plain-admin@0.34.0) (2025-07-18)
4
+
5
+ ### What's changed
6
+
7
+ - The admin toolbar now automatically expands when an exception occurs, making it easier to immediately see exception details ([55a6eaf](https://github.com/dropseed/plain/commit/55a6eaf))
8
+ - The admin toolbar now remembers your custom height preference when resized, persisting across page reloads and browser sessions ([b8db44b](https://github.com/dropseed/plain/commit/b8db44b))
9
+
10
+ ### Upgrade instructions
11
+
12
+ - No changes required
13
+
3
14
  ## [0.33.2](https://github.com/dropseed/plain/releases/plain-admin@0.33.2) (2025-07-07)
4
15
 
5
16
  ### What's changed
@@ -43,6 +43,10 @@ const plainToolbar = {
43
43
  document.querySelector("#plaintoolbar-details").classList.add("hidden");
44
44
  localStorage.setItem("plaintoolbar.expanded", "0");
45
45
  },
46
+ expandTemporary: function () {
47
+ this.expanded = true;
48
+ document.querySelector("#plaintoolbar-details").classList.remove("hidden");
49
+ },
46
50
  showTab: function (tabName) {
47
51
  this.expand();
48
52
 
@@ -74,6 +78,15 @@ const plainToolbar = {
74
78
  }
75
79
  localStorage.setItem("plaintoolbar.tab", tabName);
76
80
  },
81
+ resetHeight: () => {
82
+ const content = document.querySelector(
83
+ "#plaintoolbar-details [data-resizer]",
84
+ )?.nextElementSibling;
85
+ if (content) {
86
+ content.style.height = "";
87
+ localStorage.removeItem("plaintoolbar.height");
88
+ }
89
+ },
77
90
  };
78
91
 
79
92
  // Render it hidden immediately if the user has hidden it before
@@ -91,10 +104,28 @@ window.addEventListener("load", () => {
91
104
  if (lastTab) {
92
105
  plainToolbar.showTab(lastTab);
93
106
  }
107
+ // Restore custom height if it was set
108
+ const savedHeight = localStorage.getItem("plaintoolbar.height");
109
+ if (savedHeight) {
110
+ const content = document.querySelector(
111
+ "#plaintoolbar-details [data-resizer]",
112
+ )?.nextElementSibling;
113
+ if (content) {
114
+ content.style.height = savedHeight;
115
+ }
116
+ }
94
117
  } else if (state === "0") {
95
118
  plainToolbar.collapse();
96
119
  }
97
120
  const toolbar = document.querySelector("#plaintoolbar");
121
+ const hasException = toolbar.querySelector('[data-toolbar-tab="Exception"]');
122
+
123
+ if (hasException) {
124
+ plainToolbar.show();
125
+ if (!plainToolbar.expanded) {
126
+ plainToolbar.expandTemporary();
127
+ }
128
+ }
98
129
 
99
130
  for (const tab of toolbar.querySelectorAll("button[data-toolbar-tab]")) {
100
131
  tab.addEventListener("click", () => {
@@ -160,6 +191,8 @@ window.addEventListener("load", () => {
160
191
  isDragging = false;
161
192
  handle.style.cursor = "grab";
162
193
  document.body.style.userSelect = "";
194
+ // Save the new height to localStorage
195
+ localStorage.setItem("plaintoolbar.height", content.style.height);
163
196
  }
164
197
  });
165
198
  }
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "plain.admin"
3
- version = "0.33.2"
3
+ version = "0.34.0"
4
4
  description = "Admin dashboard and tools for Plain."
5
5
  authors = [{name = "Dave Gaeddert", email = "dave.gaeddert@dropseed.dev"}]
6
6
  license = "BSD-3-Clause"
File without changes
File without changes