-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchangelog.txt
322 lines (254 loc) · 15.1 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
# 1.8.0.10:
- Fixed issue with element ID's, as decribed in 1.8.0.9, now dialogbox ID's do not add "_0" token, element ID stays the same.
# 1.8.0.9:
- This only affects the PRE-WRITTEN HTML dialogs:
The pre-written dialogboxes are now removed from DOM after they have been processed dynamically by the script (_init),
to avoid having two identical dialog boxes and content, due to ID conflicts resulting in HTML elements ID's not being unique.
TODO: possible solution maybe to replace dialog ID back after dyn. creation to the original instead of having appending "_0" to it.
As it is now an ID like "myDialogBox" becomes "myDialogBox_0", can be confusing for the user. Need to look into it.
# 1.8.0.8:
- Minor update. Updated some comments and other minor fixes.
# 1.8.0.7:
- Minimum resize width and height can now be edited/adjusted from the css-file, these values are read by js-file when resizing the dialogbox.
# 1.8.0.5:
- Minor optimization, another duplicated code was turned into one common function.
# 1.8.0.4:
- A minimum pixelsize of width (100) and height (37) was set for resizing dialogbox, so it doesn't disappear completely.
# 1.8.0.3:
- Minor optimization, duplicated code was turned into one common function.
- Fixed a bug that sometimes saved wrong dialog height on closing, now it should work as excpected.
# 1.8.0.2:
- Made changes in the "show()" function so that if a modal dialog is already displayed (dialog with trans.overlay), then no other dialog can be displayed on top of that.
An internal variable "_bModalActive" is used to monitor this, and a console debug message is displayed to inform user about this.
# 1.8.0.1:
- Corrected a rule in the css-file, changed combinator from: "element child" to "element > child" for more accurate targeting.
- Also fixed a minor error in documentation.
# 1.8:
- Now dialogboxes can be resized by using the flag "dlg-resize"
- Rewrote inner box calculations, had to include some errorchecks, cleaned up code
- Improved responsivemode
- Same css file "easydlg.css" can be used if using "Bootstrap" 4 and 5, tests did not show any strange css behaviour.
- Tested working on Win10, in latest versions of browsers: Chrome, Firefox, Edge, Opera, IE11 (+8-9-10 emulated)
-> Note about IE 8-9-10: when using "dlg-multi" you have to click on some text or visible element to switch between dialogs,
no errors discovered during testing.
# 1.74.3:
- Cleanup after simplifying method "_getEl()"
# 1.74.2:
- Fixed minor error in earlier simplified method "_getEl()", changed logical "||" to logical "&&" in IF
# 1.74:
- Cleaned up and simplified the method "_getEl()", still works in the same way, just didn't need to be so complicated. Also more predictable and stable queryresults.
- Updated the documentation.
--> Tested working on Win10, in latest versions of browsers: Chrome, Firefox, Edge, Opera, IE11 (+8-9-10 emulated)
# 1.735.72:
- Added method to add custom buttons to footer.
- Updated the documentation.
Tested working on Win10, in latest versions of browsers: Chrome, Firefox, Edge, Opera, IE11 (+8-9-10 emulated)
-> Note about IE 8-9-10: when using "dlg-multi" you have to click on some text or visible element to switch between dialogs,
no errors discovered during testing.
# 1.735.71:
- Fixed a minor bug where method "myObj.$(...)" didn't always return null if element not found. Now it's fixed.
Tested working on Win10, in latest versions of browsers: Chrome, Firefox, Edge, Opera, IE11 (+8-9-10 emulated)
-> Note about IE 8-9-10: when using "dlg-multi" you have to click on some text or visible element to switch between dialogs,
no errors discovered during testing.
# 1.735.70:
- Cleaned up the code a little: removed variable "myObj.bHidden" since it ended up doing the same as "myObj.bVisible", no reason to have two that does the same.
- Improved module init code, now it executes on its own, do not need to make it run with outer function anymore: "EasyDialogBox.init();"
- Updated the documentation.
Tested working on Win10, in latest versions of browsers: Chrome, Firefox, Edge, Opera, IE11 (+8-9-10 emulated)
-> Note about IE 8-9-10: when using "dlg-multi" you have to click on some text or visible element to switch between dialogs,
no errors discovered during testing.
# 1.735.69.1:
- Updated the documentation.
- No changes made in the javascript sourcefiles "easydlg.js" and "easydlg.min.js", they are the same as in previous release.
- Fixed some minor "bug" in the files "easydlg.css" and "easydlg_bootstrap.css" :
--> Set "overflow:hidden;" when using flags "dlg-disable-overlay", "dlg-nomodal" and "dlg-multi".
Although this breaks responsiveness a little, think it works ok for now, since when these flags are used the dialog is part of the overall page
(maybe they should scroll with the page?)
# 1.735.69:
- Improved legacy-browser code, now works even better in older browsers (even minified fileversion works in IE8 (emulated))
Tested working on Win10, in latest versions of browsers: Chrome, Firefox, Edge, Opera, IE11 (+8-9-10 emulated)
-> Note about IE 8-9-10: when using "dlg-multi" you have to click on some text or visible element to switch between dialogs,
no errors discovered during testing.
# 1.735.68:
- Improved legacy-browser support and minor cleanup.
- Added more info about versions in repo: js/readme.txt
# 1.735.67:
- Improved legacy-browser support.
# 1.735.66:
- Optimized code for "click" eventlistener on openers when using pre-written HTML. Got rid of relevant code that was not needed anymore due to this.
# 1.735.65:
- Added optional fadein when showing dialogs, and fadeout when using timed hiding.
- Updated the documentation.
# 1.735.64:
- Added a shorthand "dlg-toast" for creating toasts easier.
- Updated the documentation.
# 1.735.63:
- Updated code so that [X] close button still appear when using class "dlg-disable-heading", it's more user friendly to have a closebutton.
It is still positioned in rightmost upper corner.
# 1.735.62:
- Added a new shorthand method ".color()" , for setting same color to border and heading.
- Updated documentation
# 1.735.61:
- Improved dragging when using multiple dialogboxes, now drag-function is locked on to the box that is currently being dragged,
never looses focus of the box until it is dropped. Before, when dragging fast it could sometimes change focus to other boxes
when dragged over them, and start dragging those instead. Now fixed.
# 1.735.60:
- Moved some height adjustments from method ".show()" and ".height()" to CSS instead of dynamically setting it in JS code.
Updated the CSS files with the new changes:
-- Removed: "margin-bottom:25px" from class ".dlg-message"
-- Changed: "margin-top:10px" to "margin-top:25px" in class ".dlg-footer"
Tested working in Win10 with latest Chrome, Firefox, Edge and IE11.
(IE9/10 + "dlg-nomodal" + "dlg-multi": Only partial support due to CSS "pointer-events:none" not available in these browser versions.)
# 1.735.59:
- Updated documentation with more examples.
- Updated method "obj.hide()" with optional delay and optional skipping of "obj.hide()" method.
- Minor cleanup
Tested working in Win10 with latest Chrome, Firefox, Edge and IE11.
(IE9/10 + "dlg-nomodal" + "dlg-multi": Only partial support due to CSS "pointer-events:none" not available in these browser versions.)
# 1.735.57:
- Added flags "dlg-nomodal" and "dlg-multi", also updated the documentation for these.
Tested working in Win10 with latest Chrome, Firefox, Edge and IE11.
(IE9/10 + "dlg-nomodal" + "dlg-multi": Only partial support due to CSS "pointer-events:none" not available in these browser versions.)
# 1.735.56:
- Minor cleanup after previous version.
# 1.735.55:
- Added a string fixer that corrects "dlg" class strings if containing several spaces, important that they
are separated by one space only. This fixes these errors, should they occur.
# 1.735.53/54:
- Improved zindexing when using multiple dialogs, brings dialog to top when clicked on, corrects zindex order.
Tested working in Win10 with latest Chrome, Firefox, Edge and IE11
(IE9/10 does not support multiple dialogs yet, but everything else works as before)
# 1.735.52:
- Changed drag'n'drop reactivation eventcode (that switches between dialogboxes) from 'click' to 'mouseenter',
when using several dialogboxes at the same time.
Tested working in Win10 with latest Chrome, Firefox, Edge and IE11
(IE9-10 does not support multiple dialogs yet, but everything else works as before)
# 1.735.51:
- Now possible to use several dialogboxes at the same time when using "dlg-disable-overlay" (best used together with "dlg-disable-clickout")
Tested working in Win10 with latest Chrome, Firefox, Edge and IE11
(IE9/10 does not support multiple dialogs yet, but everything else works as before)
# 1.735.50:
- Did some cleaning
# 1.735.49:
- Fixed a bug in method "myObj.center()"
- Made some methods returning the object itself so they can be cascaded/chained,
and used for example like this: myObj.width(500).height(300).show();
# 1.735.48:
- Fixed a bug in method "myObj.height()"
# 1.735.47:
- Added a method to center the dialogbox in window: "myObj.center()"
# 1.735.46:
- Added four methods for adjusting the dialogbox size and position:
myObj.width()
myObj.height()
myObj.xPos()
myObj.yPos()
# 1.735.45:
- Fixed a bug in the internal function "scrollBarFix" that could cause the padding to increase if running
the function several times when already enabled. This is now corrected.
# 1.735.44:
- Updated/added functions to change dialog bordercolor and heading backgroundcolor.
- Updated the documentation and examples.
# 1.735.43:
Added a fix for the "obj.onCreate" function, it was not firing when defined as a custom function.
It now works, but runs async after "create" function, since the object must first be created for
"obj.onCreate" function to be able to execute.
# 1.735.42:
- Updated inner function that creates the dialog close [X] (top right).
Using HTML entity instead of unicode, maybe avoid the need to specify unicode charset for javascript ?
<script src="js/easydlg.js" charset="utf-8"></script> <--- charset utf-8 not needed ?
- Added a minified version of the sourcefile "easydlg.js" --> "easydlg.min.js" (12 kB) for production use.
# 1.735.41:
- Minor cleanup.
# 1.735.36/.37:
Fixed an error/bug where object did not return its own element.
A line of code had mistakenly been commented out.
Should work now.
# 1.735.35:
Improved responsive-mode a little bit.
# 1.735.33/.34:
Added two more optional classes:
"dlg-disable-esc" which disables the Esc-key for closing the box.
"dlg-disable-clickout" which disables the ability to click outside the box to close it.
More cleanup.
# 1.735.31/.32:
Minor internal fix.
# 1.735.30:
Tried to improve internal function that gets elements inside box.
# 1.735.27:
Did some linting.
# 1.735.25/.26:
Cleanup and minor fixes.
# 1.735.24:
Undid the changes that was done in version 1.735.20 "visual improvement":
Changed back to removing borders when dialogbox is going into responsive-mode.
With borders it was making the horizontal scrollbar appear, and we dont that.
Leave it like this until a better solution is found.
# 1.735.23:
Added a simple way to change color of border + heading background color, just to have some basic UI-style
support. Instead of editing the css file if user only want to change a little color.
Any CSS color value will work.
You can now do this to change colors for border and heading, e.g. to red:
myBox.colorBorder = '#ff0000';
myBox.colorHeading = '#ff0000';
# 1.735.22:
Started cleaning up a little, due to major rewrite of making dialogboxes more DOM present, living their
whole lifecycle in DOM.
(Being careful not to break stuff)
# 1.735.20:
Visual improvement, made dialogbox borders visible when dialogbox goes into "responsiveness" mode,
looks better. Before it looked like something was wrong and buggy.
# 1.735.19:
Bug/error fix:
1. Custom height does now display correctly with and without "dlg-icon" class usage.
2. There was a bug when creating dialog without 'id', the random generated id sometimes was created with
a number as the first character, causing error when selecting elements in the internal functions.
Now fixed by always adding the letter 'a' in front of the random generated id string.
# 1.735.18:
The dialogbox did not display custom position correctly
Seem to have fixed it, need to test it more.
# 1.735.16:
Fixed some errors in function: show()
The dialogbox did not display custom position and size correctly.
Forgot to add a piece of code. Seem to work ok(?) now. (update: still issue with position)
# 1.735.14:
Fixed some errors in internal function: getEl()
# 1.735.12:
- Removed parameter "bKeepAlive" from function: EasyDialogBox.create(...);
Usage is now: let myObj = EasyDialogBox.create(id, strBoxTypeClass, strTitle, strMessage, fnCallback, x, y, w, h);
- Improved errorchecking.
# 1.735.9, minor update:
Added more errorchecking when using function to get elements:
myObj.$(...);
# 1.735.4, minor update:
Updated the "myObj.$()" function.
Improved element selection, in addition to the already existing ways, you can now do:
myBox.$('#someID p input.myFormData');
# 1.735, changes and new things:
- Dialogboxes are now created in DOM and memory at once with the "EasyDialogBox.create()" function.
( Before dialogbox was only created in memory, and the DOM element was created with "obj.show()" )
- Added a "hide" function that hides the dialogbox when doing: myObj.hide();
It will still exist in DOM, but hidden with css.
This function also fires: myObj.onHide();
- Dialogboxes now hides in DOM when closing the box by clicking "Close", "X", pressing "ESC" key,
they are NOT destroyed from DOM and memory like the previous versions was.
All dialogboxs will be kept alive by default, they are only destroyed when the user executes the
"destroy" function: myObj.destroy();
The user is now responsible for deleting/destroying the dialogbox objects to prevent DOM-fill and memory leaks.
Tip: By specifying an ID when creating a box, the existing box are reused when hiding and showing, instead of
a new box being created each time the box is hidden and shown, filling up the DOM and leak memory
if not destroyed.
(The variable "bKeepAlive" might be obsolete, and maybe removed in future versions)
- Added ways to get the dialogbox element itself and the elements inside, using these shorthand methods:
myObj.el; // returns the dialogbox HTML element itself
myObj.$(); // using () blank, returns the dialogbox HTML element itself
myObj.$('#someID'); // using # (hash), returns the HTML element containing the specified ID
myObj.$('.someClass'); // using . (dot), returns an indexed HTMLCollection ([i] as normal)
myObj.$('someElement'); // returns an indexed HTMLCollection ([i] as normal)
..similar to .querySelectorAll()
# 1.722 and above, important changes:
The "classflags" below has had their names changed due to naming ambiguity causing bugs:
"dlg-no-drag" is now called "dlg-disable-drag"
"dlg-no-btns" is now called "dlg-disable-btns"
"dlg-no-overlay" is now called "dlg-disable-overlay"
"dlg-no-footer" is now called "dlg-disable-footer"