Commit graph

182 commits

Author SHA1 Message Date
djmaze f2d172de7d Prevent unloading of browser window when popups (like composer window) are open. 2021-08-31 16:17:20 +02:00
djmaze cc03546484 Reduce JavaScript footprint 2021-08-20 15:40:07 +02:00
djmaze 5f21fcc100 hasher.changed.* to hasher.* 2021-08-13 10:01:01 +02:00
djmaze d536b5eeee Change ()=>{} into ()=>0 2021-08-13 09:58:43 +02:00
djmaze 8b116fa8ba Cleanup some code 2021-08-12 20:17:37 +02:00
djmaze 5590fd4860 isNonEmptyArray => arrayLength 2021-07-21 21:34:17 +02:00
djmaze d69743cee5 Cleanup closeCommand & cancelCommand because both are defined for popups 2021-07-16 09:11:10 +02:00
djmaze d67cfaa3a4 Resolve Issue #93 2021-05-31 16:19:01 +02:00
djmaze 109c6b6ab5 Cleanup HTML and CSS 2021-04-30 16:39:27 +02:00
djmaze 60a4a248d1 Simplify onWarmUp into onBuild 2021-04-23 00:12:42 +02:00
djmaze fe4dbc729c Added isFunction() 2021-03-24 14:22:25 +01:00
djmaze 845483d127 Bugfix: messagelist viewAppendArea failed to missing observableArray 2021-03-16 17:09:39 +01: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 eff92c3152 Cleanup AppUserStore
Simplify KeyState/Focused as Scope enum
2021-03-16 16:06:16 +01:00
djmaze 4b6f6b1bfc Move addObservablesTo, addComputablesTo & addSubscribablesTo to Common/Utils 2021-03-16 10:59:47 +01:00
djmaze 87a56f5341 Cleanup eslint 2021-03-12 23:56:22 +01:00
djmaze 6d16a533fe Resolved Issue #60 2021-03-12 23:54:47 +01:00
djmaze fb03687528 Revamp Issue #51 to make the whole "change password" thing a plugin 2021-03-01 00:52:46 +01:00
djmaze fe45179847 Cleanup some mobile modal screen sizes
And simplify the ko command bindinghandler to use CSS :enabled
2021-02-19 23:31:50 +01:00
djmaze f673344408 Bugfix: canExecute not a function
Bugfix: _scopes.all is undefined
2021-02-19 19:39:04 +01:00
djmaze 540b12ed26 Replace babel command decorators with proper knockout command decorators 2021-02-19 12:09:20 +01:00
djmaze b1c7bd2c50 Improve and cleanup isMobile 2021-02-15 16:05:38 +01:00
djmaze 10f9ce39d9 Revamp mobile including CSS flexbox for messageListItem 2021-02-15 15:20:22 +01:00
djmaze b26586f2ba Cleanup Crossroads & Hasher and dropped Signals 2021-02-04 12:54:03 +01:00
djmaze 7ccc44616d Small code cleanups and fix translations 2021-01-27 00:26:31 +01:00
djmaze b31bf3d7f5 Improved js minification 2021-01-26 11:46:30 +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 cc04e42444 Bugfix: revivePropertiesFromJson always set observables 2020-11-04 23:57:37 +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 20b1e08c9b v2.0.0-rc3 2020-10-28 17:12:33 +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 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 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 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 ddc866735c Drop unused sModelName 2020-10-18 19:19:45 +02:00
djmaze cb2048f163 cleanup some code 2020-10-02 12:40:33 +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 3757324e32 Cleanup hash routing 2020-09-23 14:44:46 +02:00
djmaze 7ac8143f34 Cleanup knockout commands and replaced EventKeyCode with native KeyboardEvent.key 2020-09-17 17:47: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 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 097fb4896d Bugfix: invalid settingsGet in dev/Stores/Admin/App.js
Cleanup login/logout location reloading
2020-09-04 14:36:24 +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 088945b636 v1.14.0-djmaze5 2020-08-31 16:33:40 +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 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 b8043cdc98 Remove unused bMobileDevice import 2020-08-22 01:09:50 +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 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 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 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 af136f46c4 _.bind(function, object) to function.bind(object) 2020-07-20 15:47: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
RainLoop Team 8a0be3212d prettier --write 2019-07-04 22:19:24 +03:00
RainLoop Team e449261277 autocomplete attributes 2019-03-30 01:45:12 +03:00
RainLoop Team 709eeddd09 Small fixes 2017-07-11 15:40:31 +03:00
RainLoop Team ae996b75f1 Updated: dependencies
+ small fixes
2016-10-18 21:28:42 +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 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 e88c193334 *.jsx -> *.js 2016-08-11 02:34:09 +03:00
RainLoop Team e49f3c6692 Code refactoring (3) (es5 -> es2015) 2016-07-10 17:03:22 +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 52e2698cdf Add more strict rules (eslint) 2016-07-02 01:49:59 +03:00
RainLoop Team 8e8a041032 eslint (additional rules) 2016-07-01 01:05:04 +03:00
RainLoop Team 77a1d3f3df jshint -> eslint 2016-06-27 23:55:37 +03:00
RainLoop Team 80ab02363e Code refactoring (v2) 2016-06-17 02:32:16 +03:00
RainLoop Team 90d95d3ca4 Code refactoring 2016-06-16 02:36:44 +03:00
RainLoop Team 06d3dac310 Code improvements 2016-05-24 00:57:36 +03:00
RainLoop Team 72ca818500 Fix eslint warnings 2016-04-20 20:31:24 +03:00
RainLoop Team 53cf543795 babeljs: step 2 2015-11-18 23:10:01 +03:00
RainLoop Team 87887373c1 Updated: ckeditor 4.5.3, jquery 1.11.3, openpgpjs 1.2.0
OpenPGP decrypt fix
+ Small fixes
2015-09-18 21:35:30 +03:00
RainLoop Team 763fae345b Capability improvements
Additional branding options
2015-05-20 15:46:34 +04:00
RainLoop Team f5f067f1f3 Small fixes 2015-04-25 02:19:20 +04:00
RainLoop Team 80c5e35a29 New styles for toltips (Opentip)
Selector new functionality
x-script tag support for templates
2015-04-02 01:59:03 +04:00
RainLoop Team 147dce6e4a Momentor (moment optimization) 2015-03-07 04:41:38 +04:00
RainLoop Team 2616b911e1 Release commit 2015-02-17 19:52:33 +04:00