Skip to content

Commit 646cf0c

Browse files
authored
Merge pull request #1 from Mng-dev-ai/use-unique-classess-names-to-avoid-conflicting-with-other-packages
refactor: Prefix class names with 'dma-' for package uniqueness
2 parents 1618998 + dde22c8 commit 646cf0c

File tree

5 files changed

+91
-100
lines changed

5 files changed

+91
-100
lines changed

django_modal_actions/mixins.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ def get_modal_action_buttons(self, obj=None) -> str:
127127
)
128128
buttons.append(
129129
format_html(
130-
'<a class="historylink modal-action-button" href="{}">{}</a>',
130+
'<a class="historylink dma-modal-action-button" href="{}">{}</a>',
131131
url,
132132
getattr(
133133
func, "short_description", action.replace("_", " ").upper()

django_modal_actions/static/django_modal_actions/css/modal_actions.css

Lines changed: 58 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.modal {
1+
.dma-modal {
22
display: none;
33
position: fixed;
44
z-index: 9999;
@@ -12,18 +12,18 @@
1212
transition: opacity 0.3s ease;
1313
}
1414

15-
.modal-content {
15+
.dma-modal-content {
1616
background-color: var(--body-bg);
1717
color: var(--body-fg);
1818
margin: 10% auto;
1919
width: 90%;
2020
max-width: 500px;
2121
border-radius: 8px;
2222
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
23-
animation: modal-appear 0.3s ease-out;
23+
animation: dma-modal-appear 0.3s ease-out;
2424
}
2525

26-
@keyframes modal-appear {
26+
@keyframes dma-modal-appear {
2727
from {
2828
opacity: 0;
2929
transform: translateY(-20px);
@@ -34,7 +34,7 @@
3434
}
3535
}
3636

37-
.modal-header {
37+
.dma-modal-header {
3838
background-color: var(--primary);
3939
color: var(--header-link-color);
4040
padding: 15px 20px;
@@ -45,13 +45,13 @@
4545
border-top-right-radius: 8px;
4646
}
4747

48-
.modal-header h2 {
48+
.dma-modal-header h2 {
4949
margin: 0;
5050
font-size: 1.25rem;
5151
font-weight: 500;
5252
}
5353

54-
.modal-close {
54+
.dma-modal-close {
5555
color: var(--header-link-color);
5656
background: none;
5757
border: none;
@@ -63,29 +63,29 @@
6363
transform 0.15s;
6464
}
6565

66-
.modal-close:hover,
67-
.modal-close:focus {
66+
.dma-modal-close:hover,
67+
.dma-modal-close:focus {
6868
opacity: 1;
6969
transform: scale(1.1);
7070
}
7171

72-
.modal-body {
72+
.dma-modal-body {
7373
padding: 20px;
7474
font-size: 0.9rem;
7575
line-height: 1.6;
7676
}
7777

78-
.modal-footer {
78+
.dma-modal-footer {
7979
background-color: var(--darkened-bg);
8080
padding: 15px 20px;
8181
text-align: right;
8282
border-bottom-left-radius: 8px;
8383
border-bottom-right-radius: 8px;
8484
}
8585

86-
.button,
87-
.modal-action-button,
88-
.modal-footer .button {
86+
.dma-button,
87+
.dma-modal-action-button,
88+
.dma-modal-footer .dma-button {
8989
background-color: var(--button-bg);
9090
color: var(--button-fg);
9191
border: 1px solid var(--button-border);
@@ -99,58 +99,58 @@
9999
transition: all 0.2s ease;
100100
}
101101

102-
.button:hover,
103-
.modal-action-button:hover,
104-
.modal-footer .button:hover {
102+
.dma-button:hover,
103+
.dma-modal-action-button:hover,
104+
.dma-modal-footer .dma-button:hover {
105105
background-color: var(--button-hover-bg);
106106
transform: translateY(-1px);
107107
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
108108
}
109109

110-
.button:active,
111-
.modal-action-button:active,
112-
.modal-footer .button:active {
110+
.dma-button:active,
111+
.dma-modal-action-button:active,
112+
.dma-modal-footer .dma-button:active {
113113
transform: translateY(0);
114114
box-shadow: none;
115115
}
116116

117-
.button.default,
118-
.modal-action-button.default,
119-
.modal-footer .button.default {
117+
.dma-button.default,
118+
.dma-modal-action-button.default,
119+
.dma-modal-footer .dma-button.default {
120120
background-color: var(--default-button-bg);
121121
border-color: var(--default-button-border);
122122
}
123123

124-
.button.default:hover,
125-
.modal-action-button.default:hover,
126-
.modal-footer .button.default:hover {
124+
.dma-button.default:hover,
125+
.dma-modal-action-button.default:hover,
126+
.dma-modal-footer .dma-button.default:hover {
127127
background-color: var(--default-button-hover-bg);
128128
}
129129

130-
.modal-footer .button + .button {
130+
.dma-modal-footer .dma-button + .dma-button {
131131
margin-left: 10px;
132132
}
133133

134-
.modal-action-button.historylink {
134+
.dma-modal-action-button.historylink {
135135
background-image: none;
136136
padding-left: 15px;
137137
}
138138

139-
#modal-action form p {
139+
#dma-modal-action form p {
140140
margin-bottom: 20px;
141141
}
142142

143-
#modal-action form label {
143+
#dma-modal-action form label {
144144
display: block;
145145
margin-bottom: 8px;
146146
font-weight: 500;
147147
color: var(--body-quiet-color);
148148
}
149149

150-
#modal-action form input[type="text"],
151-
#modal-action form input[type="email"],
152-
#modal-action form select,
153-
#modal-action form textarea {
150+
#dma-modal-action form input[type="text"],
151+
#dma-modal-action form input[type="email"],
152+
#dma-modal-action form select,
153+
#dma-modal-action form textarea {
154154
width: 100%;
155155
padding: 10px 12px;
156156
border: 1px solid var(--border-color);
@@ -162,89 +162,86 @@
162162
box-shadow 0.2s;
163163
}
164164

165-
#modal-action form input[type="text"]:focus,
166-
#modal-action form input[type="email"]:focus,
167-
#modal-action form select:focus,
168-
#modal-action form textarea:focus {
165+
#dma-modal-action form input[type="text"]:focus,
166+
#dma-modal-action form input[type="email"]:focus,
167+
#dma-modal-action form select:focus,
168+
#dma-modal-action form textarea:focus {
169169
outline: none;
170170
border-color: var(--primary);
171171
box-shadow: 0 0 0 2px rgba(var(--primary-rgb), 0.2);
172172
}
173173

174-
.errorlist {
174+
.dma-errorlist {
175175
color: var(--error-fg);
176176
background: var(--error-bg);
177-
border: 1px solid var(--error-fg);
178177
margin: 0 0 10px;
179178
padding: 10px;
180-
border-radius: 4px;
181-
list-style-type: none;
182179
}
183180

184-
.errorlist li {
181+
.dma-errorlist li {
185182
font-size: 0.85rem;
186183
margin-bottom: 5px;
187184
}
188185

189-
.errorlist li:last-child {
186+
.dma-errorlist li:last-child {
190187
margin-bottom: 0;
191188
}
192189

193-
.alert {
190+
.dma-alert {
194191
padding: 15px;
195192
margin-bottom: 20px;
196193
border: 1px solid transparent;
197194
border-radius: 4px;
198195
}
199196

200-
.alert-danger {
197+
.dma-alert-danger {
201198
color: var(--error-fg);
202199
background-color: var(--error-bg);
203200
border-color: var(--error-fg);
204201
}
205202

206-
.modal-close:focus-visible,
207-
.button:focus-visible,
208-
.modal-action-button:focus-visible {
203+
.dma-modal-close:focus-visible,
204+
.dma-button:focus-visible,
205+
.dma-modal-action-button:focus-visible {
209206
outline: 2px solid var(--primary);
210207
outline-offset: 2px;
211208
}
212209

213210
@media (prefers-color-scheme: dark) {
214-
.modal-content {
211+
.dma-modal-content {
215212
box-shadow: 0 4px 20px rgba(255, 255, 255, 0.1);
216213
}
217214

218-
#modal-action form input[type="text"],
219-
#modal-action form input[type="email"],
220-
#modal-action form select,
221-
#modal-action form textarea {
215+
#dma-modal-action form input[type="text"],
216+
#dma-modal-action form input[type="email"],
217+
#dma-modal-action form select,
218+
#dma-modal-action form textarea {
222219
background-color: var(--body-bg);
223220
color: var(--body-fg);
224221
}
225222
}
226223

227224
@media (max-width: 767px) {
228-
.modal-content {
225+
.dma-modal-content {
229226
width: 95%;
230227
margin: 5% auto;
231228
}
232229

233-
.modal-header h2 {
230+
.dma-modal-header h2 {
234231
font-size: 1.1rem;
235232
}
236233

237-
.modal-body {
234+
.dma-modal-body {
238235
padding: 15px;
239236
}
240237

241-
.modal-footer {
238+
.dma-modal-footer {
242239
padding: 12px 15px;
243240
}
244241

245-
.button,
246-
.modal-action-button,
247-
.modal-footer .button {
242+
.dma-button,
243+
.dma-modal-action-button,
244+
.dma-modal-footer .dma-button {
248245
padding: 8px 12px;
249246
font-size: 0.8rem;
250247
}

django_modal_actions/static/django_modal_actions/js/modal_actions.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
(function ($) {
22
$(document).ready(function () {
33
var $modal = $(
4-
'<div id="modal-action" class="modal"><div class="modal-content"></div></div>',
4+
'<div id="dma-modal-action" class="dma-modal"><div class="dma-modal-content"></div></div>',
55
).appendTo("body");
6-
var $modalContent = $modal.find(".modal-content");
6+
var $modalContent = $modal.find(".dma-modal-content");
77

8-
$(document).on("click", ".modal-action-button", function (e) {
8+
$(document).on("click", ".dma-modal-action-button", function (e) {
99
e.preventDefault();
1010
var url = $(this).attr("href");
1111
var isListAction = url.includes("list-modal-action");
@@ -25,26 +25,26 @@
2525

2626
$(document).on(
2727
"click",
28-
"#modal-action .cancel, #modal-action .modal-close",
28+
"#dma-modal-action .cancel, #dma-modal-action .dma-modal-close",
2929
function (e) {
3030
e.preventDefault();
3131
$modal.hide();
3232
},
3333
);
3434

3535
function displayErrors(errors) {
36-
$(".errorlist, .alert-danger").remove();
36+
$(".dma-errorlist, .dma-alert-danger").remove();
3737

3838
$.each(errors, function (field, messages) {
3939
if (field === "__all__") {
4040
var $generalError = $(
41-
'<div class="alert alert-danger" role="alert"></div>',
41+
'<div class="dma-alert dma-alert-danger" role="alert"></div>',
4242
);
4343
$generalError.text(messages.join(" "));
44-
$("#modal-action form").prepend($generalError);
44+
$("#dma-modal-action form").prepend($generalError);
4545
} else {
4646
var $field = $("#id_" + field);
47-
var $errorList = $('<ul class="errorlist"></ul>');
47+
var $errorList = $('<ul class="dma-errorlist"></ul>');
4848
$.each(messages, function (index, message) {
4949
$errorList.append($("<li></li>").text(message));
5050
});
@@ -54,13 +54,13 @@
5454

5555
if (Object.keys(errors).length > 0 && !errors.hasOwnProperty("__all__")) {
5656
var $generalError = $(
57-
'<div class="alert alert-danger" role="alert">Please correct the errors below.</div>',
57+
'<div class="dma-alert dma-alert-danger" role="alert">Please correct the errors below.</div>',
5858
);
59-
$("#modal-action form").prepend($generalError);
59+
$("#dma-modal-action form").prepend($generalError);
6060
}
6161
}
6262

63-
$(document).on("submit", "#modal-action form", function (e) {
63+
$(document).on("submit", "#dma-modal-action form", function (e) {
6464
e.preventDefault();
6565
var form = $(this);
6666
var url = form.attr("action");
@@ -94,7 +94,7 @@
9494
});
9595

9696
$(window).on("click", function (e) {
97-
if ($(e.target).is(".modal")) {
97+
if ($(e.target).is(".dma-modal")) {
9898
$modal.hide();
9999
}
100100
});

0 commit comments

Comments
 (0)