Hadi Nategh
a63416f6d6
Get fw sidebox sortable items working with sortablejs and removes the jquery.sortable
2021-08-11 16:43:16 +02:00
Hadi Nategh
af7b1a0fe0
Remove the tap-and-hold files
2021-08-11 16:43:16 +02:00
Hadi Nategh
7042219529
Remove tab-and-hold jquery plugin and use native touch events to implement something similar
2021-08-11 16:43:16 +02:00
nathan
db7828ad1d
Add et2-box (& et2-hbox & et2-vbox) WebComponent
...
Box can have legacy & webcomponent children.
Used here in infolog edit created & modified row
2021-08-10 15:02:52 -06:00
nathan
6c0aed651f
Api: Add some extra parameters to Merge::merge_entries() so overridding classes can still use the parent method, passing in IDs & merge object
2021-08-09 13:44:43 -06:00
Ralf Becker
8f93a7f7c6
* Setup: support uninstalling automatic installed apps (no more reinstalling next update)
2021-08-03 18:53:05 +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
Hadi Nategh
93c390139b
Fix error TypeError: Cannot read property 'length' of undefined
2021-07-26 10:10:30 +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
4240f4cf01
Changelog for 21.1.20210723
2021-07-23 08:24:45 +02:00
nathan
5fee9fcafe
Make et2-textbox as a WebComponent
...
Not all attributes are handled yet, but value cycle is working
2021-07-22 14:54:10 -06:00
Ralf Becker
93068dcfcc
need to call Vfs\StreamWrapper::init_static() after setting Vfs::$user
...
Vfs::$user should be protected and moved to Vfs\Base plus a getter and setter method added for public access,
as after setting it in 21.1+, Api\Vfs\StreamWrapper::init_static() need to be called to set the default user context!
2021-07-22 09:08:49 +02:00
nathan
b95f9e7220
Reset after every job
2021-07-20 14:23:21 -06:00
Ralf Becker
df4137baee
* Filemanager/VFS: when creating a new file as root eg. via (docker exec) filemanager/cli.php do NOT create files unreadable by webserver
2021-07-20 09:34:59 +02:00
nathan
ad00156113
Merge branch 'master' into web-components
2021-07-19 14:15:52 -06:00
nathan
610d8e1547
Try out Lion as base for button.
...
Much easier to customize, though not without its issues:
- Lion give us some stuff to handle validation, forms & input that I haven't looked into
- Slightly different mixin structure, I might be missing out on something
- Properties in extending class cause TypeScript error, but still work
2021-07-19 11:57:06 -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
cc27253b7b
keep original REQUEST_URI in ORIG_REQUEST_URI when modifying it
2021-07-19 14:15:16 +02:00
Ralf Becker
efb1711eef
always sending notification, status and filemanager preferences with user-date to avoid requesting them synchronous
2021-07-19 11:23:35 +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
87694e660c
seems to be no need to send a synchronous request
2021-07-16 12:03:29 +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
nathan
723ec70009
Get button to validate server-side
2021-07-15 10:12:47 -06:00
nathan
47e296c947
Get to the point where a button will submit. Yay.
...
Most other input widgets can build off this base.
It doesn't validate yet because of the server side, but the client side is working.
2021-07-15 10:08:26 -06:00
nathan
1294bc99c6
Some cleanup
...
- Add but comment out decorators plugin so we know about it, but don't use it yet
- Better instanciation of button image node
- Remove previous mixin experiments
- Start on trying to get click handler parsing & working
2021-07-14 16:11:20 -06:00
nathan
b0322c549a
Attribute parsing & basics of WebComponents looking like et2 widgets
2021-07-14 09:49:36 -06:00
Ralf Becker
2f155e0d79
fix popups of apps without app.ts/js wont work as eT2 is not available
...
it get's included by the app.ts/js otherwise
2021-07-13 21:02:08 +02:00
nathan
73df101e8e
Better tests & message for symlink test
...
no longer checking invalid (nlink = 2) or undefined (stat['url') things to see if it worked
2021-07-13 10:33:50 -06:00
Ralf Becker
6502eaeab8
got symlinks working for filesystem streamwrapper and fix one bug in Vfs with symlinks
2021-07-13 13:59:05 +02:00
Ralf Becker
1563337458
pending translations from our translation server
2021-07-12 08:15:16 +02:00
nathan
e474333bc8
Get stylite gantt extra bits running
2021-07-09 11:56:06 -06:00
nathan
da1e7b9fee
Implement symlink for filesystem StreamWrapper with test
...
Whether it works or not depends on filesystem though.
2021-07-09 09:47:23 -06: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
4f95ebb510
add a missing import
2021-07-09 14:50:15 +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
ff92db4e33
release session in non-json.php requests like lang.php, as it blocks parallel execution
2021-07-09 07:46:18 +02:00
nathan
4627b3b2b1
Remove VfsTest, no longer needed as test has been moved into StreamWrapperBase so it can be run on all StreamWrappers ( a63b82d3
)
2021-07-08 10:01:33 -06: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
Ralf Becker
d57fe03326
use same method (prefer .min.js over .js) for app.js include in Etemplate and Framework
...
fixes double include of /mail/js/app.js and /mail/js/app.min.js
2021-07-08 16:58:05 +02:00
Hadi Nategh
2be47ffce2
Fix input field in sharing dialog doesn't get a fullwidth
2021-07-08 16:15:43 +02:00
nathan
a63b82d34e
Move symlink test into StreamWrapperBase so it can be run on all StreamWrappers
2021-07-07 15:57:40 -06:00
nathan
35dccf17ae
Add missing cleanup of test files
2021-07-07 14:47:04 -06:00
nathan
2e597997e0
Fix wrong permission constant used, resulting in permissions when there shouldn't be
2021-07-07 14:42:10 -06:00
nathan
157926ab00
Better VFS test cleanup
2021-07-07 13:11:44 -06:00
Ralf Becker
a8ae92e1cc
add cache-buster to framework bundle
2021-07-07 16:51:31 +02:00
Ralf Becker
b2a48fc942
fix vfs-select dialog destroyed et2 session of popup calling it
...
dialog set etemplate_exec_id of popup, to be able to submit to server, but must NOT destroy the et2 session when the dialog closes
et2_dialog now calls etemplate2.clear(true, true) to keep app-object AND et2 session
2021-07-07 16:29:04 +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
90f1d9ea37
always show deleted filter and set deleted status in calendar
...
see #29778
2021-07-07 11:21:45 +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
cf101c8e13
fix not working nm_*_popup actions and others, see #60364
2021-07-07 09:30:29 +02:00
nathan
da3f8d8135
Fix symlink directory problem from 2a64e79
and add a unit test to avoid that in the future
2021-07-06 16:44:53 -06:00
nathangray
0904057714
Solve some calendar issues that were breaking add / edit
...
- Date widget did not find timepicker.formatTime() when it wanted it
- Faked parent widget was not a good enough fake, added better checking
2021-07-06 11:05:03 -06:00
Ralf Becker
b5015299ee
add missing sprintf import
2021-07-06 16:41:23 +02:00
Ralf Becker
5505c9a314
make etemplate2 global, as we need it to check an app uses it and then call methods on it, fixes #60374
2021-07-06 16:00:10 +02:00
Hadi Nategh
81bc236045
Fix vfsSelectUI destroys et2 object after dialog being closed
2021-07-06 15:59:51 +02:00
Hadi Nategh
89695620bc
Make sure et2 widgets are there before the container into vfsSelectUI app object
2021-07-06 15:50:49 +02:00
Hadi Nategh
70faf346e4
Fix error egw_keycode_translation_function is not defined
2021-07-06 14:53:56 +02:00
Ralf Becker
75fddd325b
if value has already been set, re-set it by it's id(s), fixes #60304
2021-07-06 14:43:13 +02:00
Ralf Becker
51b0888b5d
fix diverse calendar errors #60294
...
thought not sure how this is supposed to work in 21.1, both look like a general problem
2021-07-06 13:06:32 +02:00
Hadi Nategh
cbed97de6d
Fix drag and drop actions not working
2021-07-06 12:41:16 +02:00
nathangray
b021767ac1
Make sure nested document actions open in new tab, same as others.
2021-07-05 09:46:00 -06:00
Ralf Becker
1423616e00
remove some dead code and spelling fixes
2021-07-04 08:52:43 +02:00
nathangray
34d601b102
Api: Fix missed change in nested document actions
...
see 186e03671a
2021-07-02 12:04:38 -06:00
nathangray
c380ad906d
Api: Get rid of double super constructor call
2021-07-02 10:17:49 -06:00
Ralf Becker
cfd11cf821
replace eval with Function constructor to quiten rollup warning
2021-07-02 15:27:46 +02:00
nathangray
2a64e79e65
Api: Fix bug where StreamWrappers that mapped onto other StreamWrappers would be parsed earlier than we want, leading to the first StreamWrapper not getting used.
2021-07-02 12:11:54 +02:00
Hadi Nategh
1971fa0e18
Import vfsSelectUI
2021-07-02 11:44:11 +02:00
Hadi Nategh
463d931209
Fix cropper in avatar widget
2021-07-02 10:53:10 +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
b9d47c1511
Replace jQuery.base64 with native JS and remove its library
2021-07-01 10:26:51 +02:00
Hadi Nategh
83e782330d
Try to take only quoted_printable to decode and avoid decoding url params as quoted
2021-07-01 10:26:22 +02:00
Ralf Becker
b6fc08c010
Changelog for 21.1.20210629
2021-07-01 10:25:59 +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
3adce4ad58
Get diff widget working
2021-06-30 13:36:59 -06:00
nathangray
e75d3a0777
Get taglist working
2021-06-30 12:45:06 -06:00
Ralf Becker
d7cd90ebe7
fix skipping timestamps, but preferring .min.js over .js
...
added more apps to rollup.config.js (ones givening errors are commented out)
2021-06-29 15:21:19 +02: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
nathangray
459c021b8c
Comment this out while we work on rollup
2021-06-23 16:26:25 -06:00
nathangray
6559a053f3
Merge branch 'master' into new-js-loader to bring it up to date
2021-06-23 15:40:50 -06:00
nathangray
9242673aa1
- A first webcomponent (et2-button)
...
- Some mixin logic, not used but available
2021-06-23 15:39:58 -06:00
nathangray
186e03671a
Change merge download/Collabora to a common generation method, avoiding need to POST.
...
This allows Kanban to download merge files
2021-06-23 11:20:09 -06:00
nathangray
78a01ced17
Api: Allow Web Components to be added into templates (.xet files)
...
Current limitations:
- display only, I haven't figured out getting values back yet
- no children in the web components
2021-06-18 14:20:17 -06:00
Hadi Nategh
498cb2994d
Add missing compiled js for url widget
2021-06-18 15:29:19 +02:00
nathangray
f64a026898
Etemplate: Only re-set label if the new value is different
...
Fixes initialization could clear the link text if value was set first
2021-06-18 15:04:00 +02: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
Hadi Nategh
6b57c6477f
Revert unintentionally deleted egw_action.d.ts file
2021-06-15 13:47:37 +02:00
Ralf Becker
2388970002
fix blank screen when changing views in admin
2021-06-15 12:50:10 +02:00
Hadi Nategh
a4f21bc804
Fix 404 errors caused by none existing html editor icons
2021-06-15 12:11:43 +02: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
e7a3c031b2
fix class Api\Mail\Config not found
2021-06-15 10:51:48 +02:00
Ralf Becker
cb00de85ce
* Mail/Dovecot: allow to disable caching of flags in site config to support Dovecot private seen flags on shared folders
2021-06-15 10:23:11 +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
Hadi Nategh
3c9e33ab46
Add missing import for egw_action_constants
2021-06-14 15:09:53 +02:00
Hadi Nategh
e0341e49e6
Remove duplicated constants from egw_keymanager
2021-06-14 14:57:55 +02:00
Ralf Becker
23844e01df
fix wrong import
2021-06-14 14:48:05 +02:00
Hadi Nategh
c73828e4df
Add missing egw_action_constants
2021-06-14 14:42:05 +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
Hadi Nategh
b4c4606c22
Move all egw_action constants into egw_action_constants
2021-06-14 13:45:57 +02:00
Ralf Becker
be0af7be68
split implements and instanceOf from ClassWithAttributes in own ClassWithInterfaces and let et2_dataview_view_container inherit from it
2021-06-14 11:47:02 +02:00
Ralf Becker
685a0d3328
handel empty objects like empty array
2021-06-14 10:35:54 +02:00
Ralf Becker
3e5aa5a707
make egw_globalObjectManager available for egw_keymanager
2021-06-12 17:03:22 +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
d6c6e14abf
* Api: Prevent invalid customfield names
...
(cherry picked from commit ae86eb7812
)
2021-06-11 13:18:03 -06:00
nathangray
6ef766edf0
Etemplate: Better error message for parse errors in xml strings (not files)
...
This happens in things like Transformer, where we generate some XML for parsing
(cherry picked from commit 7cf7c5a638
)
2021-06-11 13:17:55 -06:00
nathangray
a024baeef6
* Api: Clear initial load URL after using it, so F5 takes you to the app's normal entry point
...
(cherry picked from commit 9219536c2f
)
2021-06-11 13:17:44 -06:00
nathangray
8a666c751f
Etemplate: Make some statustext readable by screenreader
...
(cherry picked from commit 5aba575d25
)
2021-06-11 13:17:34 -06: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
26e186fb8c
fix typo (smallPART) and compress login image
2021-06-11 15:42:29 +02: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
587c4fd8fd
fix not working add in calendar (et2_valueWidget not defined)
...
instead of checking widget to be instance of valueWidget (which would create a circular dependency) we check for the interface/methods of valueWidget
2021-06-11 14:50:46 +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
4752331427
fixed all errors in calendar, thought it's still not ok
...
also fixed a couple of errors in egw_action
2021-06-11 11:31:06 +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
ed1c35d28b
some small fixes
2021-06-11 09:06:25 +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
Hadi Nategh
81c4df47f2
Revert accidentally deleted file
2021-06-10 16:03:26 +02:00
Ralf Becker
e4ac5b2268
got et2_htmlarea/TinyMCE working in edit resources
2021-06-10 15:53:52 +02:00
Hadi Nategh
9ea598070e
Get vfs and expose working
2021-06-10 15:52:00 +02:00
Hadi Nategh
54fff9739a
Add more missing import statements
2021-06-10 15:40:49 +02:00
Ralf Becker
77a4aad7d6
got tree-actions in admin working and fixed tutorials (et2.load() stalled if no app.js or lang-files)
2021-06-10 14:54:30 +02:00
Hadi Nategh
31c7b87faa
Add splitter.js and make et2_dialog available globally
2021-06-10 14:21:41 +02:00
Hadi Nategh
f4d2ddde7d
Get magicsuggest and tree widget working
2021-06-10 14:07:02 +02:00
Hadi Nategh
0de8f242aa
Fix missing dhtmlx menu object
2021-06-10 13:59:12 +02:00
Hadi Nategh
0730d4880e
Remove couple of more jquery import statements
2021-06-10 13:57:33 +02:00
Ralf Becker
c51275fde3
got admin index incl. et2_tree and et2_date_ro working
2021-06-10 13:53:07 +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
40cac6f964
generate a non-request specific importmap, as we ajax_exec apps and then not reload importmap
2021-06-09 19:00:53 +02:00
Hadi Nategh
42305a6562
Fix some imports for et2 widgets
2021-06-09 14:28:29 +02:00
Ralf Becker
08d7b7df3e
fix async loading caused app.js not being loaded before et2.load() tried to instantiate it
2021-06-09 11:21:52 +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
c440dffa54
exporting functions
2021-06-09 10:31:22 +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
nathangray
488f01aea9
Etemplate: Only re-set label if the new value is different
...
Fixes initialization could clear the link text if value was set first
2021-06-09 08:41:07 +02:00
Ralf Becker
bfea641321
fix async loading caused app.js not being loaded before et2.load() tried to instantiate it
2021-06-08 17:13:30 +02:00
Ralf Becker
8fa2bb466b
fixed includeJS causing jQuery to be included twice and breaking plugins
2021-06-08 15:11:37 +02:00
Ralf Becker
304dbb95ab
got empty nextmatch in timesheet working
2021-06-08 14:11:59 +02:00
Ralf Becker
f91bca83e1
got et2 mostly working: timesheet.edit renders
2021-06-07 17:33:53 +02:00
Ralf Becker
592b7fb97d
replace LAB.js with native es5 loading
2021-06-05 20:39:39 +02:00