Commit Graph

1757 Commits

Author SHA1 Message Date
nathan
ef3848fd3c - Fix including everything just for a unit test
- Start of some tests for Et2Button
2021-08-25 11:32:15 -06:00
nathan
d656eb0e69 Javascript unit testing
Runs over all files in api/js/etemplate/<widget>/test and <app>/js/test folders

Run from the commandline with: npm jstest
Can also run & watch for changed files, check package.json for scripts.
2021-08-24 14:52:09 -06:00
nathan
d127cae5c6 Add get_value() to match legacy 2021-08-24 14:44:45 -06:00
nathan
538e483499 Merge branch 'master' into web-components 2021-08-23 15:41:27 -06:00
nathan
b393375823 Fix readonly property to match parent 2021-08-23 15:26:00 -06:00
nathan
8f784cd7b3 Remove setting defaults to undefined. It doesn't help the sizing issue, and it causes problems in the parent's size calculations 2021-08-23 13:09:45 -06:00
nathan
e3e3def64c Use Lion's SlotMixin to handle button icon instead of managing it ourselves 2021-08-23 11:49:17 -06:00
nathan
17b4278ca2 Implement iterateOver for children 2021-08-23 10:21:51 -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
nathan
64860e12f1 Better layout for textarea, but it's still not filling 2021-08-20 16:11:59 -06:00
nathan
e34ca22499 Split textarea off from textbox & start implementing
Splitting the two made things a lot simpler to deal with
2021-08-20 15:52:22 -06:00
nathan
0c6cd22bcd Remove debugger 2021-08-20 15:51:14 -06:00
nathan
f00e4fb708 - onclick is fine being an attribute
- Avoid error when calling loadingFinished on a webComponent and the parent does not give/have a DOM node
2021-08-20 10:37:41 -06:00
nathan
e6ecdd1b25 Fix onclick context was bound to the widget class instead of the widget instance
This caused any onclicks that used "widget" variable to fail.
2021-08-20 10:23:39 -06:00
Hadi Nategh
2125e14b43 Import missing date library 2021-08-20 10:22:15 +02:00
nathan
e0144fcec7 Fix dialog not displaying set value 2021-08-19 15:32:47 -06:00
nathan
381d12dfa2 Get Et2Date loading & formatting value 2021-08-19 15:09:00 -06:00
nathan
b4a13037e2 - Reduce duplication with loadWebComponent() by making it a function & exporting
- Start to implement readonly attribute
2021-08-19 10:54:32 -06:00
Ralf Becker
6baf07090e implement some missing features from old eTemplate:
- evaluate class set on a grid cell as done for the widget contained (probably more a bug-fix then a feature)
- allow to preset query for link-entry widget by passing an object with a query attribute
- allow to overwrite not only $readonlys[__ALL__] but also widget readonly attribute with a $readonlys value of false
2021-08-19 10:46:34 +02:00
Ralf Becker
1596bec75c get form::name() legacy function working by making used et2_form_name function global, if used 2021-08-19 10:22:40 +02:00
nathan
445f394217 Fix some issues
- Some legacy widgets can not provide their DOMNode right away, but some give errors when we ask at the wrong time.  Now catching those.
- Grid could not set disabled on web components, causing error
- Boxes were trying to work on labels they didn't have, causing error
2021-08-18 17:41:23 -06: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
nathan
39886a149d * Api: Fix entry list stops scrolling if a row is updated while the tab is not visible 2021-08-17 13:56:52 -06:00
Hadi Nategh
96e960226f Fix volume gets initiated on a wrong object becuase the youtube object is not yet ready 2021-08-17 12:01:53 +02:00
Hadi Nategh
61764809c8 Add getter/setter for video's mute option and fix volume unit 2021-08-16 17:49:47 +02:00
Hadi Nategh
4c1f398322 Fix volume and playbackrate for both youtube and html video 2021-08-16 13:48:10 +02:00
Hadi Nategh
5f4e910d0d Do not activate cropper when the widget is set to readonly 2021-08-16 12:29:56 +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
4f225054f8 WIP on Date widget
Something's not right with the parser/formatter, they're not getting called.

Times not handled yet
2021-08-13 15:26:18 -06:00
Hadi Nategh
782de6d887 Remove excessive bracket 2021-08-13 12:56:20 +02:00
Hadi Nategh
a7ea5b51bf Implements volume and playback options for video widget (both for html video and youtube) 2021-08-13 12:39:38 +02:00
nathan
35e5d57b2a Merge branch 'master' into web-components 2021-08-12 13:22:51 -06:00
nathan
54e5826fc7 Get the link entry app selection menu working again 2021-08-12 11:21:49 -06:00
nathan
fac1dfb8d4 Merge branch 'master' into web-components 2021-08-12 10:35:46 -06:00
nathan
243d769d7c - Change filenames to match classnames
- Change node import syntax
2021-08-12 10:32:05 -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
23c27659fc Fix broken styling of sidebox app lists 2021-08-11 16:50:01 +02:00
Hadi Nategh
8743bf64b0 Replace nm column jquery-ui sorting with sortablejs 2021-08-11 16:49:51 +02:00
Hadi Nategh
af2a2a016e Fix broken widget tree actions because of unexpected DOM Element object 2021-08-11 16:49:39 +02:00
Hadi Nategh
572908e300 Get favorites list sorting working with Sortablejs 2021-08-11 16:49:29 +02:00
Hadi Nategh
5777ebeb75 Get et2_grid sortable working with sortablejs 2021-08-11 16:49:16 +02:00
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
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
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
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
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
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
nathan
e474333bc8 Get stylite gantt extra bits running 2021-07-09 11:56:06 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
nathangray
be34aa1834 Etemplate: Change r/o URLs to use label as link text 2021-06-04 10:50:23 -06:00
nathangray
200aebd171 Etemplate: Fix taglist input was not getting name attribute set since c3bebf9c31 2021-05-31 09:39:30 -06:00
Ralf Becker
d3d8ff3493 * Mail/Admin: fix not working mail wizard
caused by loading app.js again and therefore this.et2 is not set --> only load / use egw.applyFunc() if not already set
2021-05-25 18:25:11 +02:00
Hadi Nategh
0e69c8c800 Fix opening an app link as popup loses it's opener when its origin app tab is not loaded 2021-05-21 12:40:08 +02:00
Ralf Becker
5e151a6210 export hbox widget and mark parameter in getDOMNode() optional 2021-05-21 12:25:29 +02:00
Ralf Becker
069cf4c3ac fix security exception if opener is from a different security context eg. LTI opening in a new window 2021-05-20 16:44:35 +02:00
Ralf Becker
450febb623 fix security exeception if opener is from a different security context eg. LTI opening in a new window 2021-05-20 16:35:54 +02:00
nathangray
6790ffb273 Etemplate: Changes to adapt to get/set in valueWidget interface 2021-05-19 13:54:56 -06:00
nathangray
94f5c437e8 Etemplate: add get/set_value() to valueWidget interface 2021-05-19 11:15:12 -06:00
nathangray
aad2a77666 JS quality improvement
- add missing declaration
2021-05-19 10:01:07 -06:00
nathangray
fcd5ed7b59 Fix clicking sidebox entries closed the category 2021-05-17 14:59:34 -06:00
Ralf Becker
68e216abea fix missing the widget argument 2021-05-17 22:03:32 +02:00
Ralf Becker
fcbe746755 dynamic load app.js file for "app.$app.$func" type handlers, if not already loaded
so eg. a config.xet run by admin app could call a handler from the apps own app.js
2021-05-17 21:45:24 +02:00
nathangray
a4199de696 Etemplate: fix date widget popup could not be clicked 2021-05-17 11:49:56 -06:00
nathangray
a615b2dd9c Api: Fix sidebox category expand/collapse on click, broken in 45e477f0c0 2021-05-17 10:02:23 -06:00
Hadi Nategh
67fb220778 Check popup blocker for when trying to open mail compose popup from filemamanger/Collabora 2021-05-17 16:27:51 +02:00
Ralf Becker
c4d9455fb4 allow to change video via set_src (and set_src_type) 2021-05-15 20:26:28 +02:00
nathangray
8e01929a43 API: Keyboard navigation for context menu 2021-05-13 15:09:53 -06:00
nathangray
c3bebf9c31 Widget accessibility improvements 2021-05-13 10:01:38 -06:00
nathangray
5bc74522c5 Api: Fix context menu button did not open context menu 2021-05-12 13:14:03 -06:00
nathangray
45e477f0c0 * Api: Sidebox accessibility improvements
- Using nav elements for sidebox categories
- Add keyboard support for expand/collapse menu categories
- Use lists for entries
- Added some roles for screenreaders
2021-05-12 13:14:03 -06:00
Hadi Nategh
89e67616de WIP login Ui:
- Re-arrange registration links
- Fix bg colors
- Fix social icons padding
2021-05-12 12:37:35 +02:00
nathangray
b4b38d54ff Get rid of any extra whitespace in break string 2021-05-10 15:38:07 -06:00
nathangray
a94345bbed Etemplate: let break_title be optional based on space, and keep the actual characters 2021-05-10 11:55:22 -06:00
nathangray
dd9352e9c4 Etemplate: Fix links with title provided always displayed loading spinner 2021-05-10 11:00:41 -06:00
Hadi Nategh
20c464a161 WIP login Ui:
- Get login messages the same style as egw messages
- Arrange logo and social icons
2021-05-10 16:35:05 +02:00
Hadi Nategh
d69b16f881 Add extra icons for login apps content 2021-05-07 12:15:20 +02:00
nathangray
d367da6ba8 Etemplate: switch to tab of first invalid input, not last 2021-05-05 10:09:31 -06:00
Hadi Nategh
47c7570862 Prevent vfs select dialog destroying session becuase of not being able to find the right app name (eg. admin mail account where app is different than current app) 2021-05-05 16:51:19 +02:00
Ralf Becker
52bbfbef0b allow "{one phrase} {other phrase}" syntax in all attributes marked as translate eg. labels 2021-05-01 14:22:34 +02:00
Ralf Becker
eefd8ed972 improve egw.langRequire to return a Promise, if no callback specified 2021-04-29 09:45:16 +02:00
nathangray
8fb0048c17 Fix linking an image/svg+xml image to an unsaved entry would give an error
An error happened! (EGroupware\Api\Exception\AssertionFailed): File 'true' is not an absolute path!
was generated because we tried to use webdav.phptrue as the thumbnail
2021-04-28 12:00:02 -06:00
Hadi Nategh
3f3748dc87 fix uploaded photo in avatar widget not being updated after cropping it. Additionally, fixes avatar size used in lists (eg. nm) 2021-04-28 12:45:12 +02:00
Hadi Nategh
5fd83ae3eb Fix error "Unexpected token '?'" happens for none ES11 supportive browsers 2021-04-23 12:16:17 +02:00
Hadi Nategh
a49ac9648e Implement throbber for mobile framework 2021-04-22 16:00:52 +02:00
nathangray
8ec1e46ea4 Etemplate: Catch errors when destroying editor so we can see what's going on, and not break 2021-04-21 15:38:10 -06:00
Hadi Nategh
c370941c51 Keep private app objects if dialog gets destroyed 2021-04-20 15:30:46 +02:00
Hadi Nategh
1a72732c3d Fix typo 2021-04-20 14:45:28 +02:00
nathangray
50b4067299 Add handling for confirm on button click that better matches normal execution path
This works better for buttons that are in a namespace
2021-04-19 10:09:49 -06:00
Hadi Nategh
2defb9a704 Fix framework app tab loses its hint content after reload 2021-04-19 16:12:58 +02:00
Hadi Nategh
85feb685f3 Ask the right app when getting appObjectManager, appname might not always be the current app (e.g. running app content under admin tab) 2021-04-19 14:00:38 +02:00
Hadi Nategh
fb83d97150 Implement loading aware framework animation 2021-04-19 10:17:47 +02:00
nathangray
602c08556d Don't try quite so hard to search for select options
It was finding & using ALL options if there was a namespace in the selectbox ID, but no options found.
2021-04-13 16:00:43 -06:00
Hadi Nategh
19c7162274 Fix positions for html editor bullist and numlist actions 2021-04-12 11:29:18 +02:00
Hadi Nategh
94877851c1 Set iframe feature policy of fullscreen for apps running in iframe 2021-04-12 11:18:08 +02:00
Ralf Becker
c9a478c3d2 change getRoot() to return et2_container to get (g|s)etValueById() and friends working without a cast 2021-04-07 16:28:21 +02:00
Hadi Nategh
d29459d9e5 Ignore browsing apps with their status 5 and index set to none 2021-04-06 17:09:31 +02:00
nathangray
d5aacd190d Add 'no_quick_add' link registry setting so apps can opt out of the quick add 2021-03-30 10:12:29 -06:00
Ralf Becker
e132cb0603 fix more then 59 seconds set for "hms" 2021-03-29 18:02:55 +02:00
nathangray
b4dd62de69 Api: Avoid infinite loop if requested file does not actually provide the class 2021-03-26 09:06:34 -06:00
nathangray
67ab00ad05 Etemplate: Fix some missing bits in searchbox 2021-03-25 11:21:45 -06:00
nathangray
1b184c11c8 Api: Avoid "Uncaught TypeError: egw_globalObjectManager is null" from popups 2021-03-24 14:54:35 -06:00
nathangray
87ff6842ea Api: Stop annoying "column saved" message that kept coming up 2021-03-24 10:21:02 -06:00
nathangray
65c61c0625 If action exec uses function from not yet loaded app, load it 2021-03-23 16:33:39 -06:00
nathangray
d0c5f3c09b Commit changes from update to TypeScript 3.9.9 so we don't keep reverting them. 2021-03-22 11:42:50 -06:00
nathangray
93adb0dca5 Fix clicking on a link to app entry (not file) threw JS error instead of opening 2021-03-22 11:18:16 -06:00
nathangray
534c188d25 Put selected columns into nextmatch value so columns are saved in favourites 2021-03-22 11:09:41 -06:00
Hadi Nategh
98813ef055 Fix darkmode get switched on in session when there's no preferences yet 2021-03-18 16:32:21 +01:00
nathangray
b1a4006b02 Remove selected types from clipboard tooltip, nobody used them and they weren't translated. 2021-03-17 10:29:43 -06:00
Hadi Nategh
ff1ac017ce Add tooltip for sidemenu toggle button 2021-03-17 15:29:40 +01:00
Hadi Nategh
739bfb482b Compact theme:
- Fix framework tabs not being able to get closed
- Fix some styling
- Fix framework tabs are overriding last active opened tab
2021-03-17 14:00:33 +01:00
nathangray
15b0ecec22 Solve the problem with mail selecting the next mail and marking it as read when you move a mail by turning off the select-next-row thing for mail 2021-03-16 11:06:48 -06:00
Hadi Nategh
ec18782513 Exclude audio types from gallery list 2021-03-16 14:02:14 +01:00
Hadi Nategh
0f0b6e4154 Implement basic audio player for audio expose 2021-03-16 13:23:54 +01:00
Hadi Nategh
886884feea Fix applications' tabs losing their sidebox app header after reload 2021-03-16 11:33:01 +01:00
Ralf Becker
fa0e7715c1 mark context as optional parameter 2021-03-15 08:57:45 +02:00
Ralf Becker
46c4e0e118 add daily cache-buster to client-side included app.js files for applyFunc 2021-03-12 11:23:26 +02:00
Hadi Nategh
eed827fccd Add missing audio widget js 2021-03-11 12:36:32 +01:00
Hadi Nategh
72c334be02 Allow custom image url for et2_dialog buttons 2021-03-11 12:09:53 +01:00
Hadi Nategh
c089e73678 Implements et2_audio widget 2021-03-10 14:52:32 +01:00
Hadi Nategh
864b896ad6 Fix issue after closing a tab app next available tab wont get selected properly 2021-03-10 11:56:34 +01:00
Hadi Nategh
81d5574fff Fix opened application tabs belong to app with status 5 don't get restored after reload 2021-03-10 10:07:39 +01:00
Hadi Nategh
e5674bbc5d Fix missing mailvelope readonly properties from egw_app object 2021-03-09 15:19:27 +01:00
Ralf Becker
d2626085f6 fix wrong context causing eg. attachments to mail to no longer work 2021-03-08 21:20:11 +02:00
nathangray
19bd3a03b0 Addressbook: Update CRM view contact info in sidebox if it's changed by push message 2021-03-04 13:53:52 -07:00
nathangray
df54dcace4 Apply client-side push refactoring to calendar, infolog, timesheet 2021-03-04 11:27:35 -07:00
Ralf Becker
58ae23c74c allow "app.<appname>.<method>" in link registry and use it to open CRM view 2021-03-04 11:50:13 +02:00
Ralf Becker
7e4ccc8311 fix some points in top-menu and probably some other stuff using et2_call were not working 2021-03-03 19:13:45 +02:00
Ralf Becker
6ae1195c38 missing file from a467bab return hashed appName of opened tab eg. to set notifcation counter 2021-03-03 19:13:45 +02:00
nathangray
4d9a30a041 Etemplate: Fix missing tooltip on toolbar checkboxes 2021-03-03 08:53:19 -07:00
Ralf Becker
a467bab01f return hashed appName of opened tab eg. to set notifcation counter 2021-03-02 21:00:59 +02:00
Ralf Becker
7a060b205b not overwriting call and apply method of egw function/object using callFunc and applyFunc instead, fixes several problems 2021-03-02 12:16:47 +02:00
Ralf Becker
9691a14279 interface for nm getValue() and activeFilters 2021-03-01 23:08:13 +02:00
Hadi Nategh
96c0f54581 Fix extra tabs opened not keeping their orders after reload 2021-03-01 17:30:33 +01:00
Ralf Becker
dc6f937f02 reverting using app from parameter object 2021-03-01 13:41:27 +02:00
Ralf Becker
e36c6c4cec move global et2_call function to egw.call and egw.apply methods, ensuring app.js is loaded, if not yet loaded, also using that as apply plugin for egw.json 2021-03-01 11:50:41 +02:00
nathangray
9128d15bb2 Etemplate: Fix some load bugs
- tabs got doLoadingFinished() multiple times if tablist was modified by data
- selectbox with cached options did not load correctly first time
2021-02-26 15:22:47 -07:00
Hadi Nategh
e5ea49a565 Fix youtube video autoplays itself after being seekTo on initiation. 2021-02-26 13:17:54 +01:00
Hadi Nategh
925285d370 Fix youtube video not being played for after initiation 2021-02-26 10:16:12 +01:00
nathangray
1eb174d3f7 For push update filter, consider empty array as having no value 2021-02-25 13:59:32 -07:00
nathangray
158e65fc90 Take contact shares into account for push ACL checks 2021-02-25 09:11:39 -07:00
Hadi Nategh
1f41bba904 Fix youtube API loading player after initiation 2021-02-25 13:51:20 +01:00
Hadi Nategh
2d4b0b8259 Fetch youtube videoid from url 2021-02-25 11:19:26 +01:00
nathangray
3c72462b5e Enable push for addressbook
Refactor EgwApp.push() to cover more common stuff for simpler app code
2021-02-24 09:18:42 -07:00
Hadi Nategh
2a2f0bf390 Keep darkmode state in serverside session too. Fix darkmode state in egroupware iframes. 2021-02-24 12:22:27 +01:00
Ralf Becker
cf9e3ae4e1 WIP to display calls in calendar 2021-02-23 00:16:51 +02:00