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
Ralf Becker
70e838b267
modify <textbox multiline="true".../> --> <et2-textarea...></et2-textarea>
2021-08-21 09:55:21 +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
9dfee3f025
Extra padding on buttons is no longer necessary for new jQuery ui version
2021-08-20 10:27:55 +02: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
nathan
0ea5e2e35f
Define the constant only once...
2021-08-19 08:16:36 -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
nathan
9231b32fce
Vfs: Fix Stylite/Links/StreamWrapper was not respecting backup parameter
2021-08-18 15:59:54 -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
Ralf Becker
61cdef588a
need to catch the statement in line 1347
2021-08-18 10:48:24 +02:00
Ralf Becker
1462fb517a
* PostgreSQL: fix SQL error when accessing eg. InfoLog
...
Links class trys to delete empty attachment directories and virtual / empty attachment directories have non-integer (hash) id causing an SQL error in PostgreSQL.
2021-08-18 09:18:21 +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
Ralf Becker
94c98718ef
update script to remove hashes/non-email-addresses from egw_history_log.share_email
2021-08-17 09:15:25 +02:00
nathan
bea880d9b1
* Api: Fix changes in history log had a hash instead of user if the change was made after a share was opened.
2021-08-16 13:07:17 -06:00
Ralf Becker
6d37e22499
web-components must not be self-closing (no "<et2-button .../>", but "<et2-button ...></et2-button>")
2021-08-16 19:54:58 +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
Hadi Nategh
2515d457d5
* Knowledge Base: fix pasting/dragging image into htmlarea editor does not work
2021-08-16 11:52:26 +02:00
Ralf Becker
d060d98fad
modify eTemplates server-side to add et2- prefix for widgets converted to web-components
...
- uses a regular expression to identify the widgets already converted (using XML parsing is slower and more complicated)
- replaces automatic old <menulist...><menupopup type="select-*"/></menulist> with <select type="select-*" .../> to not build support for that into web-component code
- currently only box and button are converted, as converting v/hbox gives a JavaScript error with nextmatch headers (seems a problem with the children)
- caching is currently also disabled, as you would need to clear the filesystem-cache, when you modify the list of supported widgets (browser cache needs to be cleared!)
2021-08-15 14:59:23 +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
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