Commit graph

432 commits

Author SHA1 Message Date
djmaze 76c4f62186 Improved reviveFromJson() for *Model 2020-10-23 15:15:54 +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 b908d7b46f Resolve https://github.com/the-djmaze/snappymail/issues/26 2020-10-17 13:53: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 cb9e393fbc Pagenator should be Paginator 2020-10-12 15:11:25 +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 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 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 e566494a87 Bugfix: move messages button [Ctrl] copy method 2020-10-01 11:11:14 +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 2d429297ad Resolve https://github.com/the-djmaze/snappymail/issues/18 2020-09-28 10:29:58 +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 39f39db447 Resolve https://github.com/the-djmaze/rainloop-webmail/issues/7 2020-09-23 12:18:36 +02:00
djmaze 5457427fc1 prepearMessageAttachments => prepareMessageAttachments 2020-09-23 11:20:18 +02:00
djmaze 302f2847b8 Resolve https://github.com/the-djmaze/rainloop-webmail/issues/8 2020-09-23 10:08:34 +02:00
djmaze f559b3c87e Remove images on reply 2020-09-22 11:38:13 +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 ea2e0c09d8 improved html5 d&d 2020-09-21 09:29:00 +02:00
djmaze b66e68a3b1 Merge some parts of initByJson and initUpdateByMessageJson
Cleanup messageListChecked handling
2020-09-20 11:29:31 +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 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 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 467f615713 Move Knoin routOff, routOn, routReload & setHash to rl.route.* 2020-09-16 20:35:29 +02:00
djmaze e99a69a9aa Attachments array to new AttachmentCollectionModel 2020-09-15 15:08:08 +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 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 f2d194947d Merge Objects prototype extensions 2020-09-04 17:07:35 +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 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 0309879d6b Bugfix: e-mail compose modal resizeObserver wrong height 2020-09-02 09:32:28 +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 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 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 b0942a7ff7 Move popupVisibility to knoin 2020-08-23 21:51:26 +02:00
djmaze dc3b76f53a Replaced more knockoutjs hasfocus for autofocus="" 2020-08-22 09:35:03 +02:00
djmaze b8043cdc98 Remove unused bMobileDevice import 2020-08-22 01:09:50 +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 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 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 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 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 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 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 ecbe543b15 cleanup webpack 2020-08-07 16:28:30 +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 327e6f65cd searchSubtractFormatDateHelper to native as moment.js not needed 2020-07-31 16:45: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 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 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 961fa305c9 -1…*.indexOf() to native .includes() 2020-07-20 21:39:00 +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
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
djmaze 4468d5bd22 Removed: twitter, google, dropbox, facebook, owncloud, modernizr from JavaScript 2020-03-11 12:55:03 +01:00
RainLoop Team 32ceafa37f Add Gmail XAUTH support 2019-12-31 20:44:41 +03:00
RainLoop Team 08333610ce Update dependencies 2019-12-24 22:05:46 +03:00
RainLoop Team 0c38f42197 Small improvements 2019-07-11 21:45:47 +03:00
RainLoop Team 40dc22a317 Remove knockout-transformations dependency 2019-07-04 22:58:15 +03:00
RainLoop Team 8a0be3212d prettier --write 2019-07-04 22:19:24 +03:00
RainLoop Team 450528ff00 Add prettier 2019-07-04 22:09:27 +03:00
RainLoop Team b244462fa5 update gulp and gulpfile 2019-06-29 17:16:09 +03:00
RainLoop Team e449261277 autocomplete attributes 2019-03-30 01:45:12 +03:00
RainLoop Team 791f0ff6ad Small fixes and improvements 2018-07-10 00:05:02 +03:00
RainLoop d76fde37df Fix crippled contact names (#1447) 2017-09-27 20:58:15 +03:00
RainLoop 230624b60c Save showAttachmnetControls status to local storage (#1502) 2017-09-21 23:28:14 +03:00
RainLoop Team 425f0ee3f6 Small fixes 2017-08-07 18:09:14 +03:00
RainLoop Team 709eeddd09 Small fixes 2017-07-11 15:40:31 +03:00
RainLoop Team a72b95a868 Fix compose focus/cursor 2017-07-06 02:56:11 +03:00
RainLoop Team ab374bbb71 Many small fixes. 2017-07-06 01:31:41 +03:00
RainLoop Team 45fe0217f2 Add "Automatically save draft" option 2017-06-28 19:25:53 +03:00
RainLoop Team 8da988fef2 Synchronize localizations from Transifex
Update package.json dependencies
Fix eslint errors
webpack 2 -> webpack 3
2017-06-24 22:26:27 +03:00
RainLoop Team a45e9ba9c8 Add "move to folder" description 2017-03-01 21:38:18 +03:00
RainLoop Team 6a6f420c76 2016 -> 2017
+ Small fixes
2017-02-25 22:21:41 +03:00
RainLoop Team f0e9d1a6d5 Add new "Move to folder" button 2017-02-08 20:48:53 +03:00
RainLoop Team 20eff3a49a npm -> yarn 2016-12-15 02:13:20 +03:00
RainLoop Team 0e9cffd657 Small fixes 2016-12-15 00:56:17 +03:00
RainLoop Team d3f8fa4308 Small fixes 2016-11-11 22:48:47 +03:00
RainLoop Team 9d60dd0786 Add some signature improvements (#1238) 2016-10-27 00:25:15 +03:00
RainLoop Team 1b7c6f76d1 Fix html parser
Add "login.active_backgroud" setting
2016-10-20 22:38:29 +03:00
RainLoop Team 760d9e6243 Fix: Can not view OpenPGP key (#1200) 2016-09-30 16:42:38 +03:00
RainLoop Team 0bbb2f14a4 1.10.4.183
---
Fixes:
New login form style display problem since version 1.10.4 (#1196)
Collapse the TO: field in message view (#1199)
Paste with HTML tags fails (#1193)
2016-09-29 00:40:17 +03:00
RainLoop Team 155f4b6df2 Release glass style 2016-09-15 23:34:30 +03:00
RainLoop Team e6e0b02849 Code refactoring
Flow first look
2016-09-10 02:27:53 +03:00
RainLoop Team 1526130bfc Add asserts folder
Add @command decorator
2016-09-03 02:19:37 +03:00
RainLoop Team a60ffc06e1 Update ckeditor
Avoid empty commands
Small fixes
2016-09-01 23:41:36 +03:00
RainLoop Team 6b1fd1239f Fix signature adding 2016-08-31 00:31:51 +03:00
RainLoop Team 962391e2a0 Add cmd interface
Code refactoring
2016-08-24 01:17:50 +03:00
RainLoop Team e6e1a19477 Add cmd interface 2016-08-23 23:15:14 +03:00
RainLoop Team 17669b7be0 es5 -> es2015 (last stage)
Signature plugin fixes
Add view decorator
A large number of fixes
2016-08-20 20:30:16 +03:00
RainLoop Team 0a2b826f71 Improve building process (es6 bundle) 2016-08-11 02:16:58 +03:00
RainLoop Team 161ddc9920 More fixes for scrutinizer-ci (+ enable php) 2016-08-09 23:11:54 +03:00
RainLoop Team 59b32241bf More fixes for scrutinizer-ci 2016-08-09 22:52:30 +03:00
RainLoop Team c7e97b78d6 Fixes for scrutinizer-ci 2016-08-09 21:58:34 +03:00
RainLoop Team 51b9e400d2 Small fixes 2016-08-09 20:27:04 +03:00
RainLoop Team 062483f078 Small code optimization 2016-08-09 01:54:25 +03:00
RainLoop Team c3985da102 Move almost all libs to node_modules
Update libs
2016-07-30 18:35:08 +03:00
RainLoop Team 786873041f Small fixes 2016-07-17 18:29:35 +03:00
RainLoop Team cec53b111f Code refactoring (5) (es5 -> es2015) 2016-07-17 18:05:15 +03:00
RainLoop Team c148e19ea3 Merge pull request #1112 from Rudloff/feature/unsubscribe
Add unsubscribe button
2016-07-17 18:04:26 +03:00
Pierre Rudloff b23d9a77c4 Add unsubscribe button 2016-07-17 16:26:20 +02:00
RainLoop Team d7ab67a460 Code refactoring (4) (es5 -> es2015) 2016-07-15 22:54:37 +03:00
RainLoop Team f64cf601ce Fix OpenPGP importing (#1098)
+ Update openpgp.js lib
2016-07-12 23:23:08 +03:00
RainLoop Team a2308e251b Code refactoring (2) (es5 -> es2015) 2016-07-07 02:11:13 +03:00
RainLoop Team 38a1041a73 Code refactoring (es5 -> es2015) 2016-07-07 00:03:30 +03:00
RainLoop Team fb2e492ce8 More scrict rules 2016-07-05 22:52:52 +03:00
RainLoop Team 8566e1db97 Unable to forward emails with attachments (#1091) 2016-07-04 20:37:43 +03:00
RainLoop Team 52e2698cdf Add more strict rules (eslint) 2016-07-02 01:49:59 +03:00