Commit graph

194 commits

Author SHA1 Message Date
djmaze 7db7d5545b Improved observables 2020-10-27 11:09:24 +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 500575dc32 Sync is already there
https://github.com/the-djmaze/snappymail/issues/24
2020-10-21 21:53:55 +02:00
djmaze 15e07a73e9 merge all Model JSON @Object parsers into a reviveFromJson() 2020-10-18 19:46:47 +02:00
djmaze 4806dc968d onkeypress is obsolete 2020-10-15 14:43:04 +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 0eba94f671 Drop AbstractAppStore and
put the properties/observables where they belong
2020-10-12 19:46:41 +02: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 c3a2da65df Revamp array filtering
Replaced fakeMd5 with new Jua.randomId
Cleanup more code
2020-10-02 23:54:15 +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 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 0181d9645a Rebranding to SnappyMail because this fork of RainLoop has way too many changes to be compatible. 2020-09-23 17:23:04 +02:00
djmaze e1d3a143f4 Removed simplestatemanager, use @media queries 2020-09-20 12:33:33 +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 28fb9a4cbd Move hideLoading into AbstractApp 2020-09-16 23:19:34 +02:00
djmaze 467f615713 Move Knoin routOff, routOn, routReload & setHash to rl.route.* 2020-09-16 20:35:29 +02:00
djmaze 03a40f3249 Remove unused AbstractBoot 2020-09-16 20:01:47 +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 e1f1a3aa12 Embed boot.min.js and boot.min.css into index.html for fast response 2020-09-06 11:13:43 +02:00
djmaze f2d194947d Merge Objects prototype extensions 2020-09-04 17:07:35 +02:00
djmaze 0647b5201f Bugfix: i've broken the download() function 2020-09-04 16:11:57 +02:00
djmaze 097fb4896d Bugfix: invalid settingsGet in dev/Stores/Admin/App.js
Cleanup login/logout location reloading
2020-09-04 14:36:24 +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 fcaa2fd6de Don't use webpack on boot.js 2020-09-03 16:34:23 +02:00
djmaze bdb36ec128 Use less jQuery, more native 2020-08-27 15:45:47 +02:00
djmaze 496c8f59ae Removed User About Screen, it is unused 2020-08-24 21:05:32 +02:00
djmaze e3e5929b21 Removed more non-community (aka Prem/Premium/License) code 2020-08-24 20:56:14 +02:00
djmaze 89395d5ae4 Drop custom_login_link and custom_logout_link 2020-08-24 11:17:42 +02:00
djmaze 31bb7267ec Revamp aBootstrapDropdowns 2020-08-24 11:14:35 +02:00
djmaze d88855ebd9 Remove addHook/runHook system as it is never used 2020-08-22 01:04:15 +02:00
djmaze 7a21694396 Drop windowResize/windowResizeCallback in favor of ResizeObservable 2020-08-19 12:34:05 +02:00
djmaze b634a50e0f Remove triggers rl.tooltips.diactivate and rl.tooltips.activate 2020-08-19 11:31:18 +02:00
djmaze d1c06a8ece Extend the use of ResizeObserver by dropping all knockoutjs observable this.resizerTrigger in mail composer
As benefit this also drops the CustomEvent('resize.real')
2020-08-19 11:30:31 +02:00
djmaze 1d4224d733 Drop License code (not used by comunity) 2020-08-18 20:45:43 +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 f6a55898c7 Removed isNormal() because 'null == undefined' so 'null != value' is sufficient 2020-08-17 21:57:56 +02:00
djmaze 29367a0ea7 Use proper HTMLTemplateElement for all knockoutjs templates 2020-08-14 23:09:36 +02:00
djmaze efc2dd89e1 Momentor.reload to CustomEvent 2020-08-14 21:19:06 +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 55f74c5d10 Compress boot.js even more 2020-08-10 11:32:05 +02:00
djmaze ecbe543b15 cleanup webpack 2020-08-07 16:28:30 +02:00
djmaze e42c94d471 Bugfix: reloadDomainList() failed due to wrong recode of underscore.js map() to Object.entries() 2020-07-30 12:02:43 +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 dc233bfc90 Bugfix: this.moveCache is an Object not an Array 2020-07-27 12:14:47 +02:00