Commit graph

84 commits

Author SHA1 Message Date
the-djmaze 7f62d9b7aa remove unused aCache 2023-02-23 15:43:43 +01:00
the-djmaze 5882cc6051 Resolve #554 2022-10-15 18:33:45 +02:00
the-djmaze b12852bd08 Reduce JavaScript footprint 2022-10-10 13:52:56 +02:00
the-djmaze e5e4675c1b cleanup and speedup Selector 2022-09-09 22:20:40 +02:00
the-djmaze 0c87bbac21 Faster Selector.autoSelect 2022-09-09 17:04:52 +02:00
the-djmaze 44ac2626ec Improve and cleanup Selector even more 2022-09-09 12:07:05 +02:00
the-djmaze 47a861a243 Speedup listChecked().length to hasChecked() 2022-09-09 10:02:40 +02:00
the-djmaze d1422826b8 Bugfix: Selector Shift + Arrow made checkboxes "checked" in a weird way 2022-09-08 15:06:12 +02:00
the-djmaze ee5b30884f Speedup list Selector a bit 2022-09-08 13:37:06 +02:00
the-djmaze 732b6eb641 Use JavaScript Optional chaining 2022-09-02 11:52:07 +02:00
the-djmaze 088d6cab55 Still issue with shortcuts
https://github.com/the-djmaze/snappymail/issues/277#issuecomment-1064880609
2022-03-11 10:36:27 +01:00
the-djmaze 6f2f5bce86 Added Ctrl/Meta + F to open advanced search screen
Cleanup search field onEnter
2022-03-09 15:08:22 +01:00
the-djmaze 5990addfef Added: addEventsListener() and addEventsListeners() 2022-02-24 11:19:19 +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 98b3fa9632 v2.10.0 2021-12-28 17:13:15 +01:00
djmaze d536b5eeee Change ()=>{} into ()=>0 2021-08-13 09:58:43 +02:00
djmaze 2d87b52c07 There is no 'return true' for the shortcuts system 2021-08-12 20:55:24 +02:00
djmaze bb15cd1ec3 Resolve Issue #100 2021-07-19 11:57:47 +02:00
djmaze 0b64083543 Array.isArray to isArray
Array.isNotEmpty to isNonEmptyArray
2021-03-16 16:49:14 +01:00
djmaze 986b8f056b prevent creation of _defineProperty() function 2021-03-16 16:08:01 +01:00
djmaze 0d6335ed2c messagelist search without float
and remove some usePreviewPane
2021-02-15 20:05:51 +01:00
djmaze 997e0561ad Rename inbox() to mailbox() because we select any mailbox folder 2021-02-12 14:56:16 +01:00
djmaze a2727c65fe Bugfix: messages list ArrowUp/ArrowDown broken 2021-02-12 12:00:06 +01:00
djmaze 1535dd00f1 cleanup webpack export references 2021-01-22 16:32:08 +01:00
djmaze b6f0b634fb Cleanup calls to Knockout observableArray
Improved Knockout observableArray
2021-01-22 12:23:20 +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 ee23a5553e Resolve https://github.com/the-djmaze/snappymail/issues/22 2020-10-09 10:31:44 +02:00
djmaze c7054ff56c Resolve https://github.com/the-djmaze/snappymail/issues/14
There this works
2020-09-26 10:20:24 +02:00
m hagoort 5e7f531c7f Revamp shortcuts handler (not tested yet) 2020-09-26 00:02:29 +02:00
djmaze b66e68a3b1 Merge some parts of initByJson and initUpdateByMessageJson
Cleanup messageListChecked handling
2020-09-20 11:29:31 +02:00
djmaze 7ac8143f34 Cleanup knockout commands and replaced EventKeyCode with native KeyboardEvent.key 2020-09-17 17:47:35 +02:00
djmaze b837013cfb Replaced dev/Common/ClientStorageDriver/* with webstorage polyfill
Cleanup some other code
2020-09-03 12:51:15 +02:00
djmaze 69fcc240e9 More jQuery to native (including bootstrap.js) 2020-08-30 10:30:50 +02:00
djmaze bdb36ec128 Use less jQuery, more native 2020-08-27 15:45:47 +02:00
djmaze 97a73c6639 Replace timeOutAction() with debounce
Replace delegateRun()
Revert my throttle/debounce setTimeout() to Function.prototype[throttle/debounce]
2020-08-18 20:24:17 +02:00
djmaze 9f1ea1a0fd Bugfix boostrap alerts.less was accidentally removed
Bugfix Date.fromNow('past'/'future') reversed
Replace Events[pub/sub]('interval.*') with setInterval()
Events[pub/sub] to native
Cleanup knockout extensions
Replaced momentToNode with proper HTML5 <time>
Cleanup Momentor
2020-08-14 20:35:39 +02:00
djmaze e7180a86ce Made eslint using 'browser' environment and added globals, because RainLoop is used in browsers.
This also allowed to remove all webpack 'externals' overhead.
2020-08-12 00:25:36 +02:00
djmaze e1b274fcb4 Bugfix: scrollTop/scrollLeft never worked because .b-content has overflow:auto not the sub-div .content 2020-08-06 16:14:50 +02:00
djmaze ea48f5060b isArray to native Array.isArray
isUnd(*) to native undefined === *
isFunc to native typeof * === 'function'
isObject to native typeof * === 'object'
microtime() to native Date().getTime();
noop to native ()=>{}
noopFalse to native ()=>false
noopTrue to native ()=>true
boolToAjax to native *?'1':'0'
Underscore.js to native
2020-07-29 21:49:41 +02:00
djmaze 2ba34532c2 JavaScript string compare '' is always a ToBoolean
See https://www.ecma-international.org/ecma-262/5.1/#sec-9.2
2020-07-28 17:20:14 +02:00
djmaze 82bed1ed80 Cleanup array.length checks and for() to forEach() 2020-07-28 12:35:41 +02:00
djmaze 43c92a82e6 Underscore.js _.delay() to native setTimeout() 2020-07-22 20:28:25 +02:00
djmaze a5d41edb24 Underscore.js _.each() to native Array.forEach() (optional with Object.entries/values) 2020-07-22 14:49:18 +02:00
djmaze 9c0072d626 Underscore.js _.find() to native Array.find() 2020-07-22 10:43:19 +02:00
djmaze eb15c6e45f Changes _.filter(array) to native array.filter() 2020-07-20 21:29:44 +02:00
djmaze af136f46c4 _.bind(function, object) to function.bind(object) 2020-07-20 15:47:33 +02:00
djmaze db2d95d684 JavaScript inArray()/indexOf() to .includes() 2020-07-20 14:33:33 +02:00
RainLoop Team 8a0be3212d prettier --write 2019-07-04 22:19:24 +03:00
RainLoop Team e6e0b02849 Code refactoring
Flow first look
2016-09-10 02:27:53 +03:00
RainLoop Team 962391e2a0 Add cmd interface
Code refactoring
2016-08-24 01:17:50 +03:00