the-djmaze
b12852bd08
Reduce JavaScript footprint
2022-10-10 13:52:56 +02:00
the-djmaze
8ea778a8d4
Drop the mostly unused InputComponent
and use normal <input>
2022-09-30 10:17:19 +02:00
the-djmaze
118558cdfd
Renamed SaveSettingsStep to more logical SaveSettingStatus
2022-09-26 14:02:30 +02:00
the-djmaze
0864d306d6
Improved folder/mailbox name editing
2022-09-26 13:54:28 +02:00
the-djmaze
d1d820da73
Drop ko.extenders.limitedList
2022-09-26 11:55:26 +02:00
the-djmaze
732b6eb641
Use JavaScript Optional chaining
2022-09-02 11:52:07 +02:00
the-djmaze
48974d1b5a
Get rid of i18nInit and improve i18nUpdate
2022-04-05 10:31:55 +02:00
the-djmaze
722e345cbe
Cleanup some knockout code
2022-03-31 18:52:46 +02:00
the-djmaze
f50f2c5ea0
decorateKoCommands() each command must have function
...
And due to that, a bug is found and solved in MessageView
2022-03-03 17:34:45 +01:00
the-djmaze
97bc3ef585
Enable AbstractViewSettings
2022-02-28 10:38:47 +01:00
the-djmaze
0bf891ba9d
Improved ko.extenders.limitedList
2022-02-25 17:18:45 +01:00
the-djmaze
5990addfef
Added: addEventsListener() and addEventsListeners()
2022-02-24 11:19:19 +01:00
the-djmaze
661cd2aaf9
Restructure JavaScript
...
Split list code from MessageUserStore into MessagelistUserStore
Move functions out of AppUser
2022-02-23 19:26:52 +01:00
the-djmaze
e324e2f6b6
Replaced tricky delegateRunOnDestroy() with koArrayWithDestroy()
...
koArrayWithDestroy creates ko.observableArray and calls the desired onDestroy() on entry delete.
2022-02-17 12:48:57 +01:00
the-djmaze
b2a492bdab
Cleanup knockout subscribables
2022-02-17 09:36:29 +01:00
the-djmaze
5748dea4bc
Cleanup component models
2022-02-16 23:12:12 +01:00
the-djmaze
0da681f074
OpenPGP.js now stores keys in localStorage
...
Renamed all deleteAccess to askDelete
2022-01-27 23:07:34 +01:00
djmaze
679d7356e0
More ko.computed to pureComputed
2021-12-31 17:02:32 +01:00
djmaze
954de06f86
Switch from ko.computed to ko.pureComputed
...
This should provide performance and memory benefits over regular computed observables
2021-12-31 13:30:05 +01:00
djmaze
ac2238a23f
Bugfix: Cannot write a value to a ko.computed unless you specify a 'write' option
2021-12-31 12:28:43 +01:00
djmaze
1d9c772b94
Improved "delete folder" error handling.
2021-12-13 14:32:15 +01:00
djmaze
880d4a05e9
Drop the ko.bindingHandlers.modal as click.koModal is never used
...
And replace hideScreenPopup() with this.closeCommand();
2021-11-06 22:08:45 +01:00
djmaze
3a32a09f2a
KnockoutJS:
...
* remove deprecated allBindings as Accessor https://github.com/knockout/knockout/pull/2133
* remove unused event '*Bubble' https://knockoutjs.com/documentation/event-binding.html#note-4-preventing-the-event-from-bubbling
* remove unused 'completeOn' https://knockoutjs.com/documentation/binding-lifecycle-events.html#indicating-that-a-control-flow-binding-completes-asynchronously
2021-08-10 15:00:49 +02:00
djmaze
5590fd4860
isNonEmptyArray => arrayLength
2021-07-21 21:34:17 +02:00
djmaze
673bd49095
Improvements for #62
2021-03-25 10:08:29 +01:00
djmaze
fe4dbc729c
Added isFunction()
2021-03-24 14:22:25 +01:00
djmaze
0b64083543
Array.isArray to isArray
...
Array.isNotEmpty to isNonEmptyArray
2021-03-16 16:49:14 +01:00
djmaze
4b6f6b1bfc
Move addObservablesTo, addComputablesTo & addSubscribablesTo to Common/Utils
2021-03-16 10:59:47 +01:00
djmaze
fe45179847
Cleanup some mobile modal screen sizes
...
And simplify the ko command bindinghandler to use CSS :enabled
2021-02-19 23:31:50 +01:00
djmaze
540b12ed26
Replace babel command decorators with proper knockout command decorators
2021-02-19 12:09:20 +01:00
djmaze
db0d03db83
Bugfix: conflicting File object with native JS
...
Cleanup: Stores and tooltips
2021-02-17 14:40:21 +01:00
djmaze
ce4ee3ba3f
Revamp saveTrigger
2021-02-11 10:08:27 +01:00
djmaze
004378ed8c
Merge and cleanup more CSS rules
2021-02-08 17:37:21 +01:00
djmaze
7ccc44616d
Small code cleanups and fix translations
2021-01-27 00:26:31 +01:00
djmaze
b31bf3d7f5
Improved js minification
2021-01-26 11:46:30 +01:00
djmaze
ad8fd8879b
This version uses Rollup instead of WebPack.
...
Due to that the code is smaller and has changes to prevent Circular Dependencies
2021-01-25 22:00:13 +01:00
djmaze
f3bfa0e8c1
Cleanup and split Enums
2021-01-24 22:58:06 +01:00
djmaze
7db7d5545b
Improved observables
2020-10-27 11:09:24 +01:00
djmaze
f25d210f3e
Solve menu arrow navigation
...
https://github.com/the-djmaze/snappymail/issues/22
2020-10-26 14:34:59 +01:00
djmaze
3eb6ab1ef7
Improved knockout observables management to prevent memory leaks
2020-10-26 12:54:03 +01:00
djmaze
4177467f81
Bugfix: '`' backtick shortcut being dead key
...
* remove 'Insert' key from class Selector and bugfix Selector ' ' space.
* replace 'M' (move) shortcut with 'Insert' (like: insert into)
* '`' backtick being dead key shortcut with 'M' and 'ContextMenu' keys.
2020-10-09 15:00:26 +02:00
djmaze
efcefbaf78
Cleanup CSS and drop bMobileDevice detection.
...
Touch devices can be any size and can use (bluetooth/usb-c mouse/keyboard) these days.
It's all about pixels and currently if the mode is mobile/no-mobile (this can be improved later).
2020-09-30 12:31:34 +02:00
djmaze
2d429297ad
Resolve https://github.com/the-djmaze/snappymail/issues/18
2020-09-28 10:29:58 +02:00
djmaze
7713f459ac
Replace $().trigger() and document.createEvent() with element.dispatchEvent(new Event())
2020-09-17 21:18:39 +02:00
djmaze
7ac8143f34
Cleanup knockout commands and replaced EventKeyCode with native KeyboardEvent.key
2020-09-17 17:47:35 +02:00
djmaze
9c18126843
Move some knockoutjs bindings, extenders and functions to Admin and User specific areas
2020-09-17 00:02:35 +02:00
djmaze
b904eca98e
Cleanup __APP__/getApp code
2020-09-15 09:29:25 +02:00
djmaze
f2d194947d
Merge Objects prototype extensions
2020-09-04 17:07:35 +02:00
djmaze
0e8bf13d5d
Bugfix: the new endShowHide failed in Edge and mobile browsers
...
Cleanup bootstrap less files
2020-09-02 21:30:23 +02:00
djmaze
7135cc38fe
Remove bootstrap Modal feature for improved transition effects (in future might use <dialog>)
2020-09-02 17:06:35 +02:00