djmaze
15631427b0
Use PharData to create Zip when ZipArchive is not available
2021-02-10 15:47:22 +01:00
djmaze
7ccc44616d
Small code cleanups and fix translations
2021-01-27 00:26:31 +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
864da66b5f
Replace viewDecorator and popupDecorator with proper AbstractView classes
2021-01-24 10:25:23 +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
4f8b07fe85
Remove more RainLoop standard/premium licensed code
2020-11-25 14:31:20 +01:00
djmaze
7db7d5545b
Improved observables
2020-10-27 11:09:24 +01:00
djmaze
8d7e25fc7c
Bugfix: subscribables should be created after computables
2020-10-26 14:44:34 +01:00
djmaze
3eb6ab1ef7
Improved knockout observables management to prevent memory leaks
2020-10-26 12:54:03 +01:00
djmaze
22f606ea75
Bugfix: revamp MessageModel broke flags cache
...
And took the liberty to put all MessageFlagsCache functions into a class
2020-10-25 13:50:26 +01:00
djmaze
76c4f62186
Improved reviveFromJson() for *Model
2020-10-23 15:15:54 +02:00
djmaze
1d6a636433
Split Common/Utils.js
...
Because admin app doesn't need most of them
2020-10-14 19:16:37 +02:00
djmaze
058217de02
Resolve https://github.com/the-djmaze/snappymail/issues/21
2020-10-09 11:04:35 +02:00
djmaze
ee23a5553e
Resolve https://github.com/the-djmaze/snappymail/issues/22
2020-10-09 10:31:44 +02:00
djmaze
c3a2da65df
Revamp array filtering
...
Replaced fakeMd5 with new Jua.randomId
Cleanup more code
2020-10-02 23:54:15 +02:00
djmaze
cb2048f163
cleanup some code
2020-10-02 12:40:33 +02:00
djmaze
cfdbe3251e
Removed the DATA_IMAGE_USER_DOT_PIC
...
Because viewUserPic is always false due to the removed Gravatar feature
2020-09-30 16:10:01 +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
662e6b3466
cleanup some code
2020-09-22 10:54:00 +02:00
djmaze
df1d0fc8d6
Array.from() to spread syntax
2020-09-22 10:13:32 +02:00
djmaze
079d119f8a
Removed lightgallery to drop whole jQuery
2020-09-21 17:33:58 +02:00
djmaze
b66e68a3b1
Merge some parts of initByJson and initUpdateByMessageJson
...
Cleanup messageListChecked handling
2020-09-20 11:29:31 +02:00
djmaze
b904eca98e
Cleanup __APP__/getApp code
2020-09-15 09:29:25 +02:00
djmaze
29cf711a6a
Converted *Ajax into *Fetch (because we use the Fetch API, not jQuery.ajax)
2020-09-14 19:40:56 +02:00
djmaze
f2d194947d
Merge Objects prototype extensions
2020-09-04 17:07:35 +02:00
djmaze
aeb5275648
Improved boot.js with existing global window.rl
...
Put dev/Storage/Settings.js in boots.js global rl.settings
2020-09-04 12:05:17 +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
7a21694396
Drop windowResize/windowResizeCallback in favor of ResizeObservable
2020-08-19 12:34:05 +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
6541a1de7c
Remove Common/Enums Magics.*
2020-08-13 22:58:41 +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
bbd9f49dcd
$.proxy is deprecated
...
$.trim is deprecated
2020-08-06 18:24:46 +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
dca0ff02ed
Use jQuery.slim
...
Underscore.js _.uniq(_.compact( to native Array.filter((value, index, self) => !!value && self.indexOf(value) == index)
Underscore.js _.compact to native Array.filter(value => !!value)
Underscore.js _.uniq to native Array.filter((value, index, self) => self.indexOf(value) == index)
Underscore.js _.values to native Object.values
Underscore.js _.flatten to native Array.flat
Underscore.js _.union to native Array.concat + unique filter
Underscore.js _.reduce to native Array.reduce
Underscore.js _.escape replaced with advanced htmlspecialchars()
Underscore.js _.memoize replaced
Now Underscore.js is a slim custom version (only _.debounce, _.defer & _.throttle)
2020-07-23 16:06:16 +02:00
djmaze
43c92a82e6
Underscore.js _.delay() to native setTimeout()
2020-07-22 20:28:25 +02:00
djmaze
a82575a830
Underscore.js _.map() to native Array.map() (optional with Object.entries/values)
2020-07-22 20:09:31 +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
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
djmaze
0b0747b8dc
Upgraded some old JavaScript to ECMAScript 1.6
...
Removed some jQuery references
Added JavaScript Globals.$htmlCL for frequently used window.document.documentElement.classList
2020-07-15 14:25:51 +02:00
djmaze
6e0d0b3b6e
CRLF to LF
2020-03-11 14:17:52 +01:00