Commit graph

1138 commits

Author SHA1 Message Date
djmaze 0474f29272 Bugfix: wrote a buggy fix for safari 2020-11-23 17:05:13 +01:00
djmaze 4986de6b93 Bugfix: Safari doesn’t fire the visibilitychange event as expected when visibilityState transitions to hidden 2020-11-23 16:44:34 +01:00
djmaze b609c4b0c2 AudioContext undefined in Safari 13
Fix for https://github.com/the-djmaze/snappymail/issues/37
2020-11-10 10:25:02 +01:00
djmaze cd52d9ae6c More improvements for https://github.com/the-djmaze/snappymail/issues/37 2020-11-10 09:59:56 +01:00
djmaze b3b8c97b00 Cleanup some unused code 2020-11-10 09:29:00 +01:00
djmaze f706e14a2f More changes for https://github.com/the-djmaze/snappymail/issues/37
Notifications were hardcoded disabled for mobile.
2020-11-10 09:28:33 +01:00
djmaze 542d9c91e9 Changes for https://github.com/the-djmaze/snappymail/issues/37
Testing van be done at https://snappymail.eu/demo/
2020-11-09 20:14:04 +01:00
djmaze 0ec37b7e90 Added: show fancy placeholder for external images 2020-11-05 10:40:02 +01:00
djmaze 2c40475bfa Bugfix: failed to set message data from dom 2020-11-05 10:38:17 +01:00
djmaze cc04e42444 Bugfix: revivePropertiesFromJson always set observables 2020-11-04 23:57:37 +01:00
djmaze 948663519e Cleanup js components 2020-11-03 16:11:04 +01:00
djmaze 65e1b58877 Hide Squire toolbar in mobile mode when not focused 2020-11-03 15:54:35 +01:00
djmaze 4946feada3 Resolve https://github.com/the-djmaze/snappymail/issues/31 2020-10-30 16:46:18 +01:00
djmaze 4f21cda9cd Resolve https://github.com/the-djmaze/snappymail/issues/33 2020-10-30 16:42:01 +01:00
djmaze d0bcb5483a Changes for https://github.com/the-djmaze/snappymail/issues/30
And remove some memory cleanup due to issues with the Contacts view
2020-10-30 11:49:05 +01:00
djmaze b79d9de1a0 Bugfix: i broke the user -> settings -> folders screen 2020-10-29 10:59:26 +01:00
djmaze 20b1e08c9b v2.0.0-rc3 2020-10-28 17:12:33 +01:00
djmaze 48769f0aca Resolve issue https://github.com/the-djmaze/snappymail/issues/27 2020-10-28 14:54:55 +01:00
djmaze d1dfa227ae cleanup fontastic 2020-10-28 10:35:17 +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 f25d210f3e Solve menu arrow navigation
https://github.com/the-djmaze/snappymail/issues/22
2020-10-26 14:34:59 +01:00
djmaze 250caab957 Bugfix: create computable should be after property defines 2020-10-26 13:43:56 +01:00
djmaze 3eb6ab1ef7 Improved knockout observables management to prevent memory leaks 2020-10-26 12:54:03 +01:00
djmaze b165a1de4f Added addComputables() to *Model 2020-10-25 14:14:14 +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 d7a4639d6b Prevent memory leaks in *Model 2020-10-25 11:46:58 +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 188a40b196 Basic JSON object properties revival now handled by AbstractModel
This will be better for future use of JSON.stringify() and JSON.parse()
For now the difference between the PHP JSON being PascalCase and the JS object properties being camelCase is handled by AbstractModel
2020-10-20 17:39:00 +02:00
djmaze 53bf7c1d60 setFromJson was not called at reviveFromJson 2020-10-20 17:29:24 +02:00
djmaze 3a315bc543 Bugfix: Contacts management failed
It had a strange array type structure and buggy
2020-10-20 15:37:06 +02:00
djmaze 2470f1add6 ContactProperty and FilterCondition use reviveFromJson 2020-10-20 10:27:00 +02:00
djmaze 9844c1882c Split RainLoop/Actions.php and use JsonSerializable 2020-10-19 22:09:25 +02:00
djmaze 15e07a73e9 merge all Model JSON @Object parsers into a reviveFromJson() 2020-10-18 19:46:47 +02:00
djmaze 76648f04ae Cleaner CollectionModel code 2020-10-18 19:36:57 +02:00
djmaze ddc866735c Drop unused sModelName 2020-10-18 19:19:45 +02:00
djmaze 7d89de2fdb CollectionModels reviveFromJson 2020-10-18 11:46:22 +02:00
djmaze d747de7649 Revert my Squire node.remove() back to detach(node) and
Cleanup some code
2020-10-17 14:08:27 +02:00
djmaze b908d7b46f Resolve https://github.com/the-djmaze/snappymail/issues/26 2020-10-17 13:53:04 +02:00
djmaze d0f686c657 Rename basefolder 'rainloop' to 'snappymail'
this prevents conflicts with original rainloop
2020-10-15 16:21:52 +02:00
djmaze 4806dc968d onkeypress is obsolete 2020-10-15 14:43:04 +02:00
djmaze 0528bcf911 Cleanup language loader 2020-10-15 12:59:56 +02:00
djmaze b68d04aacd Bugfix: inboxFolderName was incorrect
You could have potentionally deleted INBOX and other issues
2020-10-15 12:23:11 +02:00
djmaze 3bfe2c67d1 Droppped momentjs in favor of Intl
Uses a fallback for Intl.RelativeTimeFormat in Date.prototype.fromNow
2020-10-15 10:45:18 +02:00
djmaze 6f585e1f1d Use Intl.DateTimeFormat instead of momentjs where we can
Need to solve the Intl.RelativeTimeFormat to drop momentjs
2020-10-15 00:26:40 +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 e02deee4f1 Make touchstart/touchmove events passive 2020-10-13 15:16:57 +02:00
djmaze cc046907ed ko.utils.unwrapObservable => ko.unwrap 2020-10-13 14:56:45 +02:00
djmaze 0eba94f671 Drop AbstractAppStore and
put the properties/observables where they belong
2020-10-12 19:46:41 +02:00
djmaze cb9e393fbc Pagenator should be Paginator 2020-10-12 15:11:25 +02:00
djmaze 527694f361 Replace bootstrap .divider with cleaner .dividerbar which also reduces knockout calls 2020-10-12 15:03:45 +02:00
djmaze c2a5d0fda5 ko hidden: use html5 hidden attribute
ko visible: rollback to use style.display
2020-10-11 11:59:36 +02:00
djmaze 267426b07d Resolve https://github.com/the-djmaze/snappymail/issues/23 2020-10-09 17:12:56 +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 ba7ed497b2 Cleanup JS and better terser compression 2020-10-09 11:58:15 +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 a0f8ac0dad Cleanup Date.fromNow() and friendlySize() 2020-10-03 14:02:33 +02:00
djmaze 2bd9528098 Clean message preview/print 2020-10-03 13:04:23 +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 9992b20163 Merge file and mime code into simple Common/File.js 2020-10-02 14:44:29 +02:00
djmaze cb2048f163 cleanup some code 2020-10-02 12:40:33 +02:00
djmaze e566494a87 Bugfix: move messages button [Ctrl] copy method 2020-10-01 11:11:14 +02:00
djmaze 6c75dd12f8 Cleanup CSS and JS code 2020-10-01 11:10:40 +02:00
djmaze 0eea2cb5ad Modifications for https://github.com/the-djmaze/snappymail/issues/12 2020-09-30 17:11:06 +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 0a95e2c6dc Cleanup constants 2020-09-30 14:07:03 +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 17575f19f0 Activated a working HTML5 Drag & Drop polyfill for the Firefox Mobile browser 2020-09-28 20:04:09 +02:00
djmaze d735893cd6 Added HTML5 Drag & Drop for Gecko/Firefox Mobile
Chrome does support dragstart and was fixed previously.
This is not active yet as i'm testing for touch issues.
2020-09-28 17:23:22 +02:00
djmaze 9b94265844 Resolve https://github.com/the-djmaze/snappymail/issues/17 2020-09-28 11:26:20 +02:00
djmaze 2d429297ad Resolve https://github.com/the-djmaze/snappymail/issues/18 2020-09-28 10:29:58 +02:00
djmaze 35b531caac Resolve https://github.com/the-djmaze/snappymail/issues/20 2020-09-28 09:50:31 +02:00
djmaze 5b986b7bb0 Bugfix: Chrome 84 on Android only accepts text/plain in Drag & Drop 2020-09-27 12:04:47 +02:00
djmaze 344c478a45 Release v2.0.0-rc1 2020-09-26 12:25:57 +02:00
djmaze c7054ff56c Resolve https://github.com/the-djmaze/snappymail/issues/14
There this works
2020-09-26 10:20:24 +02:00
djmaze 3a48cc8b7f Probably resolved issue #14
Could get some better improvements
2020-09-26 09:34:23 +02:00
m hagoort 5e7f531c7f Revamp shortcuts handler (not tested yet) 2020-09-26 00:02:29 +02:00
djmaze 31828b125f cleanup some orphan css 2020-09-25 17:42:40 +02:00
djmaze 48971df2ad Partially found a solution for issue #12
But we shouldn't solve it the DIV way.
2020-09-24 16:24:35 +02:00
djmaze a8ddeecb49 Improved Webkit and Gecko :empty selector.
But the real block level unfocusable bug is still not solved.
2020-09-24 16:11:46 +02:00
djmaze 0fde531dd3 Issue #12 has something todo with Webkit and Gecko
A DIV has no height, but we solve this with CSS :empty
It's not perfect because we can still not focus when there's no BR.
Will keep digging!
2020-09-24 15:13:33 +02:00
djmaze 4257d9ca78 Resolve https://github.com/the-djmaze/snappymail/issues/10 2020-09-24 15:08:57 +02:00
djmaze 72780a885e Changed logo (the dots say 'snappy' in braille) 2020-09-24 11:52:24 +02:00
djmaze 578131e22a Drop unavailable PDO drivers in admin contacts
Based on good feedback in issue #11 by @phsc84
2020-09-24 09:58:35 +02:00
the-djmaze e174248463
Resolve issue #11
Actually the disabled was reversed
2020-09-23 22:31:19 +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 3757324e32 Cleanup hash routing 2020-09-23 14:44:46 +02:00
djmaze 673f1bff79 Bugfix: inputosaurus revamp failed due to missing onChange handling 2020-09-23 13:07:44 +02:00
djmaze 39f39db447 Resolve https://github.com/the-djmaze/rainloop-webmail/issues/7 2020-09-23 12:18:36 +02:00
djmaze 1bb154d6f4 Bugfix: The ability to list more than one selector in :not() is experimental and not yet widely supported. 2020-09-23 11:48:08 +02:00
djmaze 5457427fc1 prepearMessageAttachments => prepareMessageAttachments 2020-09-23 11:20:18 +02:00
djmaze 65032e3b89 Bugfix: CKEditor failed to load 2020-09-23 11:20:00 +02:00
djmaze 302f2847b8 Resolve https://github.com/the-djmaze/rainloop-webmail/issues/8 2020-09-23 10:08:34 +02:00
djmaze 6c6a5dd03b Enable Squire by default and put CKEditor as option 2020-09-22 15:21:23 +02:00
djmaze 996c747e45 Bugfix: Squire setHTML failed with hidden exception 2020-09-22 15:03:14 +02:00
djmaze 843b186354 Use HTMLTemplateElement 2020-09-22 14:23:31 +02:00
djmaze d2c9e860cb Bugfix: mail?to= should be encodeURIComponent() 2020-09-22 14:17:48 +02:00
djmaze f559b3c87e Remove images on reply 2020-09-22 11:38:13 +02:00
djmaze 067c502592 Fix SquireUI on mobile 2020-09-22 11:19:52 +02:00
djmaze 81364c6494 Merge Squire into libs.js 2020-09-22 11:04:45 +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 07b002a66a cleanup boot.js 2020-09-22 09:50:52 +02:00
the-djmaze 31d9ea53b9
Update Client.js
This change made on mobile as test.
2020-09-21 22:28:12 +02:00
djmaze 079d119f8a Removed lightgallery to drop whole jQuery 2020-09-21 17:33:58 +02:00
djmaze 06abbf0713 inputosaurus jQuery to native so we can drop jquery-ui 2020-09-21 16:05:04 +02:00
djmaze ea2e0c09d8 improved html5 d&d 2020-09-21 09:29:00 +02:00
djmaze 4e449b9c66 replace knockout-sortable with html5 native 2020-09-20 23:15:06 +02:00
djmaze e1d3a143f4 Removed simplestatemanager, use @media queries 2020-09-20 12:33:33 +02:00
djmaze 6bffc452b0 Improve some SquireUI mobile styling 2020-09-20 11:47:18 +02:00
djmaze b66e68a3b1 Merge some parts of initByJson and initUpdateByMessageJson
Cleanup messageListChecked handling
2020-09-20 11:29:31 +02:00
djmaze 46198861bc cidWithOutTags => cidWithoutTags and don't check foundedCIDs because isLinked is already set 2020-09-20 11:15:00 +02:00
djmaze 6d5317d969 Don't add inline attachments on reply 2020-09-20 11:13:40 +02:00
djmaze 9fc5a3ff6a Cleanup some code 2020-09-19 13:53:14 +02:00
djmaze a104287aa5 Bugfix: compose window kept resizing 2020-09-19 13:31:59 +02:00
djmaze c282e2c9b5 Replace messages jQuery drag/drop with native HTML5 2020-09-18 14:01:27 +02:00
djmaze d88c183112 Bugfix: broken message.attachments in compose window 2020-09-18 00:33:43 +02:00
djmaze 9241726ffe Bugfix: Message attachments should be observable or else KnockoutJS is not updating 2020-09-17 22:14:51 +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 5d281486d0 Try to fix HtmlEditor isHtml() issue with SquireUI
Real fix should be made with the wrong use of modeToggle()
2020-09-17 16:10:27 +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 95e88af017 Fix the broken route 2020-09-16 23:28:29 +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 71f6fb25e5 Let all the new CollectionModels use AbstractCollectionModel 2020-09-16 16:33:53 +02:00
djmaze 086a2c1927 Fetch response 'Collection/MessageCollection' to new MessageCollectionModel 2020-09-16 15:44:36 +02:00
djmaze 8f07cf4ac6 foldersReload promises populator to the new FolderCollectionModel 2020-09-16 09:32:36 +02:00
djmaze d33f9710c2 Improve SquireUI on mobile by placing toolbar fixed at bottom of screen (and top of touch keyboard) 2020-09-15 23:36:42 +02:00
djmaze 385cd9588c Bugfix: i've wrecked rendering of inline images 2020-09-15 20:40:55 +02:00
djmaze e99a69a9aa Attachments array to new AttachmentCollectionModel 2020-09-15 15:08:08 +02:00
djmaze 344edaec2a cleanup Fetch API code 2020-09-15 11:51:07 +02:00
djmaze 95f55deaad Attachments filetype was missing opendocument detection 2020-09-15 10:09:39 +02:00
djmaze 062f8d078e Message from, to, cc, bcc, replyTo and deliveredTo to the new EmailCollectionModel 2020-09-15 09:43:53 +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 bb4d66d6d2 Bugfix: i've broken the boot.js 2020-09-14 12:39:30 +02:00
djmaze ab3ce67376 Centralize window.fetch to rl.fetchJSON() 2020-09-14 12:39:15 +02:00
djmaze 8b53b189f8 Cleanup CSS and fix SquireUI css 2020-09-13 14:13:16 +02:00
djmaze 99bd895090 Fix some mobile view css issues 2020-09-12 13:57:09 +02:00
djmaze 89d7a8426f Bugfix: mobile screen not scrollable 2020-09-11 20:47:16 +02:00
djmaze 19f5ea149a Bugfix: squire wysiwyg had no overflow scrollbar 2020-09-11 19:57:29 +02:00
djmaze a022139403 Added: browse/upload image button to SquireUI 2020-09-11 14:40:13 +02:00
djmaze a7cc115bfb Move SquireUI into libs.js 2020-09-11 12:39:56 +02:00
djmaze ecb9bd8ac1 Added the insertSignature code in SquireUI
Added hints/title (in english) to SquireUI toolbar buttons
2020-09-10 21:44:01 +02:00
djmaze bdc961dfab Improved Squire with the missing 'plain' mode. 2020-09-10 18:47:28 +02:00
djmaze 3fa55a91d8 Bugfix: HTMLTemplateElement is not the right tool to modify innerHTML 2020-09-10 18:24:03 +02:00
djmaze 72cbdfa7f2 Split SquireUI from HtmlEditor.js and improved SquireUI with styling 2020-09-10 12:56:45 +02:00
djmaze acda0e8883 Speedup boot.js: no need to load CKEditor/Squire when not logged in 2020-09-10 10:07:35 +02:00
djmaze 540c70ecbf Added Squire HTML editor as lightweight fast alternative solution for the heavy CKEditor
Some features are still missing (as i need to create own UI)
Enable in:
[labs]
use_squire_html_editor = On
2020-09-09 17:03:44 +02:00
djmaze 90acc04750 Cleanup DOM boot 2020-09-09 16:53:36 +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 45aaa17219 Better boot response by splitting and embedding boot css/html into index.html 2020-09-05 12:22:46 +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 f90dbcc84b transitionend not working in Edge 18 2020-09-03 17:14:44 +02:00
djmaze e858685769 Remove the boot.js webpack require() parts 2020-09-03 16:57:15 +02:00
djmaze fcaa2fd6de Don't use webpack on boot.js 2020-09-03 16:34:23 +02:00
djmaze b837013cfb Replaced dev/Common/ClientStorageDriver/* with webstorage polyfill
Cleanup some other code
2020-09-03 12:51:15 +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
djmaze 0309879d6b Bugfix: e-mail compose modal resizeObserver wrong height 2020-09-02 09:32:28 +02:00
djmaze eb5fb5342e Cleanup bootstrap 2020-09-01 21:50:17 +02:00
djmaze 1802dda136 Removed jQuery dependencies from Jua.js 2020-09-01 16:57:14 +02:00
djmaze 088945b636 v1.14.0-djmaze5 2020-08-31 16:33:40 +02:00
djmaze dcdaf70601 Bugfix: compose window resizeObserver 2020-08-31 16:32:27 +02:00
djmaze 645831368d Again replaced some jQuery to native and cleaned up normalize.css without IE 2020-08-31 12:45:43 +02:00
djmaze 4977494f6b Bugfix: Translator append() should be appendChild() 2020-08-31 11:31:35 +02:00
djmaze 2bf96ab33e Bugfix: typo in querySelectorAll 2020-08-30 17:40:54 +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 24cb874c87 iMessageBodyCacheCount only used in Message.js
htmlEditorDefaultConfig & htmlEditorLangsMap only used in HtmlEditor.js
2020-08-25 09:34:29 +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 d5665463fe Remove rl-anim feature and use no-mobile 2020-08-24 18:53:47 +02:00
djmaze 1e0586f124 upgraded yarn 2020-08-24 11:26:19 +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 0ccfa6a9b1 Bugfix: droppable area (folders) failed to scroll 2020-08-23 21:58:30 +02:00
djmaze b0942a7ff7 Move popupVisibility to knoin 2020-08-23 21:51:26 +02:00
djmaze 3374a2d2d3 Put createCommandLegacy code in createCommand 2020-08-22 09:35:24 +02:00
djmaze dc3b76f53a Replaced more knockoutjs hasfocus for autofocus="" 2020-08-22 09:35:03 +02:00
djmaze e4ddef97d6 Removed createCommandLegacy 2020-08-22 09:33:22 +02:00
djmaze b8043cdc98 Remove unused bMobileDevice import 2020-08-22 01:09:50 +02:00
djmaze 1b1fc3b9cd Removed unused files 2020-08-22 01:05:59 +02:00
djmaze b185402ae7 Bugfix: Contacts.js trim() missing
Bugfix: ClearCookie failed
2020-08-22 01:05:43 +02:00
djmaze d88855ebd9 Remove addHook/runHook system as it is never used 2020-08-22 01:04:15 +02:00
djmaze 996723a486 Removed: KnockoutJS 'hasFocus:' because HTML5 has autofocus=""
Knoin.js now searches for [autofocus] and handles it
2020-08-22 01:03:03 +02:00
djmaze 226f77e392 urlsafeArray the join(0x00) should be join('\x00') 2020-08-20 07:28:08 +02:00
djmaze 5d402f6405 Common/Base64.js not needed, see simple Remote/User/Ajax.js urlsafeArray()
Although unescape() is "deprecated" it is still ECMAScript defined, and TextEncoder not supported by Edge.
2020-08-19 22:23:28 +02:00
djmaze 578925c904 changeTheme() to ES2015
removed ancient String.substr
2020-08-19 16:47:33 +02:00
djmaze 53451a1236 cleanup ko.js unused functions 2020-08-19 16:23: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 1b811428e7 new Date().getTime() to Date.now() 2020-08-17 21:35:03 +02:00
djmaze 7670d2073d Prevent parameter errors in sendMessage()/saveMessage() due to too many parameters.
Instead provide an object.
sendMessage param 'SentFolder' and saveMessage param 'DraftFolder' now both 'SaveFolder'
2020-08-17 21:32:57 +02:00
djmaze 6f49e9b80f Bugfix: new AbstractAjaxRemote failed with recursive values like the Attachments 2020-08-15 22:12:57 +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 382aef7ebb Replaced ifvisible.js with simple drop-in to handle prefetch messages 2020-08-13 21:25:42 +02:00
djmaze 2f48128ff3 Replaced Autolinker with simple https/email detection 2020-08-13 15:22:24 +02:00
djmaze f5a444aa14 Removed opentip
Cleanup lightgallery
2020-08-13 13:16:08 +02:00
djmaze a8ef5ec75b Bugfix: Email addressparser
Cleanup vendor scripts
2020-08-12 11:49:40 +02:00
djmaze aaf4933b0a Embed cleaner node modules 2020-08-12 01:47:24 +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 b9b9cd736f Replaced ProgressJS with simple native dropin 2020-08-10 10:40:25 +02:00
djmaze ba8a566c69 Hardcoded Styles/@Boot.css dropped some webpack KB overhead. We are going more mobile!
Also replaced some charAt() with []
2020-08-08 17:20:35 +02:00
djmaze 4383281de6 Removed unused bootstrap code 2020-08-08 14:39:51 +02:00
djmaze b57b555bed Bugfix: replaced momentjs had timestamp issue 2020-08-07 17:37:14 +02:00
djmaze ecbe543b15 cleanup webpack 2020-08-07 16:28:30 +02:00
djmaze 6d29acb7eb Bugfix: momentjs shortMonths can be array or function 2020-08-07 15:08:41 +02:00
djmaze b1678a1566 Replaced moment.js with simple extended Date.prototype 2020-08-07 14:44:33 +02:00
djmaze bbd9f49dcd $.proxy is deprecated
$.trim is deprecated
2020-08-06 18:24:46 +02:00
djmaze ae1b7610fd Remove use of $.error in jquery-ui 2020-08-06 16:24:19 +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 b3dd0c51b5 Removed lozad. Lazy loading of images. A browser can itself these days. 2020-08-06 15:07:43 +02:00
djmaze 327e6f65cd searchSubtractFormatDateHelper to native as moment.js not needed 2020-07-31 16:45:43 +02:00
djmaze 97bf6f70b8 Remove Prem code 2020-07-30 15:11:58 +02:00
djmaze 7584e9003f Cleanup ProgressJS 2020-07-30 12:17:41 +02:00
djmaze 12c88e34b3 Removed pikaday (unused) 2020-07-30 12:05:47 +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 07fd143853 Remove unused code 2020-07-29 00:06:59 +02:00
djmaze 3669fdc752 Bugfix: when iTimeOut = 0 it aborted the AbstractAjaxRemote request 2020-07-29 00:03:40 +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 db5751cd00 Cleaner boot.js 2020-07-28 11:23:06 +02:00
djmaze 1b331aca32 Removed unused code from JavaScript files 2020-07-27 14:52:18 +02:00
djmaze dc233bfc90 Bugfix: this.moveCache is an Object not an Array 2020-07-27 12:14:47 +02:00
djmaze 134cb7d52a Replace missed $.ajax with window.fetch 2020-07-23 20:35:37 +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 996a71ad8a missed one _.delay() to setTimeout() 2020-07-22 20:29:48 +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 749f372042 https://github.com/RainLoop/rainloop-webmail/issues/1924 2020-07-22 14:54:21 +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 178e5f6ef7 Remove _.isNull 2020-07-22 10:54:28 +02:00
djmaze 9c0072d626 Underscore.js _.find() to native Array.find() 2020-07-22 10:43:19 +02:00