Commit Graph

288 Commits

Author SHA1 Message Date
nathan
538e483499 Merge branch 'master' into web-components 2021-08-23 15:41:27 -06:00
Ralf Becker
0203ce5a1f also augmenting Promise returned from egw.request() with an abort method and using that in link-widget 2021-08-23 09:37:18 +02:00
Ralf Becker
6c641f824b fix missing abort method for link-widget
also remove jQuery.proxy
2021-08-22 11:55:29 +02:00
Hadi Nategh
466371fa03 Check element exist before applying to sortable as sortablejs needs an HTMLElement instance 2021-08-18 11:15:38 +02:00
Hadi Nategh
4e7ebc509a Make sure the DOM object is there before using it 2021-08-18 11:02:48 +02:00
Ralf Becker
29ab26b731 fix egw.request() which was using jQuery defered.always() which egw_json.sendRequest() no longer returns in favor to a Promise 2021-08-14 08:42:37 +02:00
nathan
fac1dfb8d4 Merge branch 'master' into web-components 2021-08-12 10:35:46 -06:00
Hadi Nategh
d07a7ab194 WIP of replacing bower-asset packages:
- Get jquery-ui and touch event plugin working (although still modular import is not possible becuase of a wierd issue with jquery-ui tooltip plugin)
- Import timepicker-addon plugin as npm package
- Update composer.lock file
2021-08-12 14:51:38 +02:00
Ralf Becker
72699fad30 fix ESM module import (no currly brackets) as suggested by Guy Bedford 2021-08-11 19:28:01 +02:00
Hadi Nategh
572908e300 Get favorites list sorting working with Sortablejs 2021-08-11 16:49:29 +02:00
Ralf Becker
5f7bafd030 allow to explicit register callbacks for the broadcasted push messages
egw.registerPush(Function)

The callback should have a bound context, if it requires one!
2021-07-30 15:21:58 +02:00
nathan
30d835fa39 - Get label "for" attribute working when target is a WebComponent
- Remove requirement that tooltip target be jQuery, get tooltips working on WebComponents
2021-07-23 10:18:45 -06:00
Ralf Becker
0a1e784f2e egw.getCache(name) function to get a cache-object shared between all EGroupware windows and popups
used to share server-side generated options for et2_selectbox
also removed nextmatch specific code from et2_selectbox which seems no longer necessary
2021-07-19 17:02:37 +02:00
Ralf Becker
3a618937a9 do NOT check Content-Type header as it's sometimes not set to application/json
parsing JSON will error out, if payload is no JSON anyway
happens with mark-as-spam and SpamTitan
2021-07-19 10:24:58 +02:00
Ralf Becker
59ac3f4bda always name generated file app.min.js so client-side can load it without knowing source is .ts or .js
--> fixes client-side initiated load errors
2021-07-19 08:31:06 +02:00
Ralf Becker
ce0a513187 egw.preference(name, app, true) returns now a promise to query preference async
changed notifications to query preference async together with lang-files
fixed error-handling in new egw.json()
2021-07-16 14:50:06 +02:00
Ralf Becker
50b8839609 fix not working InfoLog index: synchronous request must return fulfilled promise 2021-07-16 11:49:53 +02:00
Ralf Becker
b780c7ebd8 replace jQuery.ajax with fetch (or XMLHttpRequest for synchronous requests) 2021-07-16 08:47:22 +02:00
Ralf Becker
a5ad691757 deprecated egw.includeJS() in favor of es6 import statement
with egw composition happening in main window the used import statement happens in that context and NOT in the window (eg. popup or iframe) this module is instantiated for!
2021-07-09 17:27:22 +02:00
Ralf Becker
65502ace6e re-added daily cache-buster for app.js and removed explicit timepicker include causing a double include
(we still sometimes get a jQuery.datepicker is not defined, but it seems a timing issue and is NOT fixed by including it twice!)
2021-07-09 10:07:31 +02:00
Ralf Becker
edacfc12cb remove (unnecessary) double egw.min.js import 2021-07-09 08:15:17 +02:00
Ralf Becker
5b8923f548 replace include of egw.js with egw_core.js, which provides the egw.extend
fixes the stray egw.js include
2021-07-08 17:04:48 +02:00
Hadi Nategh
052f5f23cc Remove framework object from import statement which would override the actual object 2021-07-07 12:31:11 +02:00
Ralf Becker
e8da7caa64 fix after rollup build popups need extra reload
caused by no longer necessary import of etemplate2 in egw.js, as Promise works and etemplate2 is global
2021-07-07 10:32:06 +02:00
Ralf Becker
cfd11cf821 replace eval with Function constructor to quiten rollup warning 2021-07-02 15:27:46 +02:00
Ralf Becker
b88716c8b6 legacy load jQueryUI as tooltip has wired context problems if loaded as module 2021-07-02 08:52:18 +02:00
Ralf Becker
68155251fa fixing a couple of jQuery plugin includes
thought jQueryUI-tooltip is still broken and we either need to legacy-load jQuery(UI) or fix the tooltip
2021-07-01 16:33:15 +02:00
Ralf Becker
8c7722c8b0 1. loading dhmtlx(tree|menu) again via script tag
2. fixed not loaded app.js in egw_json by using import direct and not includeJS (and therefore removed additional include in et2_load)
3. adding cache-buster for egw.js and app.js endpoints to force reloads (not adding them for anything else, as it interferes with rollup
2021-07-01 14:36:51 +02:00
Hadi Nategh
e5d0e5def0 Avoid triggering initial resize if not necessary 2021-07-01 10:22:42 +02:00
Ralf Becker
05405b955a remove generated .js files from git 2021-07-01 08:38:08 +02:00
nathangray
154946f39e Get news_admin loading with rollup 2021-06-30 14:21:58 -06:00
nathangray
3add958afa The results of Guy Bedford's help
Egroupware will load into addressbook & show rows
Most base files should be bundled server-side & included
rollup.config.js controls the process

Still needs work:
- consider /dist directory for best-practice
- cleanup
- other built-in apps
- EPL / external apps need Guy's multi-stage work
2021-06-25 14:49:24 -06:00
Ralf Becker
45758aaada we must not make json_request object global as it interferes with registered plugins from different windows
Example was tracker site config opened in an iframe, then stopped further et2_load responses to the main window
because it still used window object from the iframe and therefore could not find the node
2021-06-18 11:09:53 +02:00
nathangray
5a209a00f0 Avoid infinite loop if loading JS file fails 2021-06-17 14:17:58 -06:00
Ralf Becker
af3193480c fix not working applyFunc if app.js was not yet loaded (missing return of the Promise) 2021-06-15 11:51:10 +02:00
Ralf Becker
8432cca3ea show (caught) exceptions during import now as error for easier spotting
console.error instead of console.log
2021-06-14 15:22:16 +02:00
Ralf Becker
829defa0c1 also import old jsapi with rest of egw object 2021-06-14 15:12:52 +02:00
Ralf Becker
1035ff31ec fix async loading caused et2 widgets calling api before loaded
using a strict order now:
1. legacy stuff like jquery and dhtmlx
2. client-side api / egw-object
3. et2 and rest
2021-06-14 14:16:07 +02:00
Ralf Becker
685a0d3328 handel empty objects like empty array 2021-06-14 10:35:54 +02:00
Ralf Becker
ee508c50b9 filter out legacy JS code from importmap and sort it
also only add extension-less includes for .ts files (was accidentally commented out) and fix some .js imports without extension
2021-06-12 11:44:28 +02:00
nathangray
2c2563eccf Fix PUSH new entries did not show if filter had multiple values
(cherry picked from commit 0caabaf516)
2021-06-11 13:17:27 -06:00
Ralf Becker
f503f7139a EgwApp object need to be global / assigned to window.EgwApp
as that's how we iterate through all EgwApp instances for observer and push
2021-06-11 15:21:18 +02:00
Ralf Becker
78e30f1a27 load egw_ready.js again 2021-06-11 15:05:44 +02:00
Ralf Becker
89967336e2 removed app_base.js from egw.js requirement to not pull in etemplate, but had to move app to egw.js too 2021-06-11 13:48:09 +02:00
Ralf Becker
771d6c727f got mail app.js incl. jsapi/app_base.js working
plus marking et2 methods returning promisses as async and removing cache-buster from includeJS calls in egw_action_common.js as it causes double loads
2021-06-11 10:11:13 +02:00
Ralf Becker
1f4ba0156a remove (unused) etemplate2 import causing login page to constantly reload 2021-06-11 09:11:28 +02:00
Ralf Becker
e18832e110 defer calls to app.* after et2_load is finished
changing et2_load egw_json plugin to return a promise for that
2021-06-11 09:05:57 +02:00
Ralf Becker
5298336886 include jquery and other legacy js files via script tag 2021-06-10 11:38:54 +02:00
Ralf Becker
38cb855017 fixing a couple more imports to get addressbook list show up 2021-06-09 11:11:34 +02:00
Ralf Becker
027c087a06 remove egw_app dependency and only import et2, if there is an eTemplate on the page
stops login-page from loading eT2 stuff
2021-06-09 10:13:51 +02:00