ralf
9e8b291201
calling etemplate2.submit(,,no_validation=true) caused no submit (as invalid is no promise, but null)
2022-04-01 21:28:25 +03:00
nathan
763ed85668
Fix splitter widget did not restore size from preference
...
Two problems:
1. Preference was stored as percent which splitter did not like to load directly
2. Etemplate was triggering the final finish-up, which triggered resize(), which stored the default as preference before the splitter got to its _init_splitter(),
2022-03-30 09:09:33 -06:00
ralf
e7dc51ad14
Revert "Fix splitter widget did not restore size from preference"
...
This reverts commit e8635be8c1
.
2022-03-30 10:21:22 +03:00
nathan
e8635be8c1
Fix splitter widget did not restore size from preference
...
Two problems:
1. Preference was stored as percent which splitter did not like to load directly
2. Etemplate was triggering the final finish-up, which triggered resize(), which stored the default as preference before the splitter got to its _init_splitter(),
2022-03-29 09:17:04 -06:00
nathan
85e247d4d6
Legacy dialog
...
- Fix load event was not bubbling through to the listener
- Fix value was missing
2022-03-23 09:50:11 -06:00
nathan
2c1f9b2579
WIP on dialog
...
You can try it with
et2_dialog.show_dialog(null, "This is the message", "Title")
2022-03-14 17:07:25 -06:00
ralf
ebaebf65ca
Implement et2-url-* incl. r/o
...
ToDo: implement allow_path and trailing slash attributes for et2-url
2022-03-10 10:15:59 +02:00
nathan
f7f4053d1a
Swap Promise for jQuery.Promise in loadingFinished() & doLoadingFinished()
...
This lets us add LitElement's updateComplete Promise into the list of things to wait for, and solves the problem of app init code being run before widgets are complete.
https://lit.dev/docs/components/lifecycle/#reactive-update-cycle-completing
2022-03-08 15:11:32 -07:00
ralf
1b74f1f1a7
WIP URL widget for email and phone (not yet styled)
2022-03-08 20:20:06 +02:00
ralf
4f93ceb16e
Implement et2-number(_ro) and preprocess <(textbox|float|int(eger)|number) type="float|int(eger)" to it in etemplate.php
...
.
2022-03-06 20:14:53 +02:00
Hadi Nategh
3112dc1399
WIP of Et2Taglist implementation
2022-03-02 16:28:45 +01:00
ralf
c70886f106
fix invalid can be null and then gives an error
2022-03-01 16:52:50 +02:00
nathan
e048b26235
- Deprecate "needed" attribute in favour of standard "required"
...
- Fix some required CSS
2022-02-25 10:21:16 -07:00
nathan
d9e95dae87
Get needed attribute working
...
Will cancel submit, shows validation message
2022-02-24 15:53:40 -07:00
ralf
c83b281aa9
added et2-date-timeonly_ro widget
2022-02-24 19:44:30 +02:00
nathan
7cc9006e19
Add missing et2-date-timeonly widget
2022-02-16 10:43:15 -07:00
nathan
28eb3fdd80
Add Et2DateTimeToday
2022-02-03 14:58:56 -07:00
nathan
f9ba6683be
Read-only date-since and date-duration widgets
2022-01-21 13:46:12 -07:00
nathan
96c174d483
Implement select-account_ro as web component
2022-01-19 13:17:46 -07:00
nathan
82277c802b
Readonly textbox
2022-01-13 15:31:01 -07:00
Ralf Becker
1f4cb50e74
use $method parameter of Api\Etemplate::exec() plus new et2_process handler as menuaction GET parameter
...
allows determining the called function on the URL to eg. send it to different FPM pool
(before the menuaction of et2 was always "EGroupware\Api\Etemplate::ajax_process_content")
2022-01-09 16:38:14 +02:00
nathan
f8ab5c521e
Selectbox webcomponent
2022-01-04 15:38:10 -07:00
nathan
e1ab343a5d
WIP on Et2Description. Shows improvement in nm render speed.
2021-12-17 14:47:19 -07:00
Hadi Nategh
170ac4d6e2
Fix error Cannot read properties of null (reading 'split')
2021-12-16 11:39:43 +01:00
nathan
528134cfac
Adapt nextmatch to work with webcomponents + readonly datetime widget
2021-12-14 16:55:57 -07:00
nathan
672ed0aa0e
- DateTime widget to handle dates with times
...
- Time & Date+time parser & formatter functions
- Date widget does not return a time
2021-11-03 09:05:16 -06:00
nathan
02dce82010
Merge branch 'master' into web-components
2021-10-06 14:02:22 -06:00
Ralf Becker
db83cc437c
refactor client-side form is not valid/submittable check of submit method into an own method isInvalid()
2021-09-30 09:26:36 +02:00
nathan
25773a929f
Merge remote-tracking branch 'origin/master' into web-components
2021-09-23 10:22:18 -06:00
nathan
29bd739955
W.I.P on collabora placeholder insert
2021-09-20 15:34:55 -06:00
Ralf Becker
582793d52b
Revert "Bring web-component work into master branch"
...
To many things are not working :(
- addressbook, infolog, even timesheet index lacks at least r/o textbox and problably other widgets
- smallPART (with many extra widgets) is completly unusable
- *box widget seems not to skip empty boxes
--> we need more testing and progress, before we can merge that
This reverts commit 9cee681b94
.
2021-09-03 11:28:22 +02:00
nathan
9cee681b94
Bring web-component work into master branch
2021-09-02 10:52:10 -06:00
Hadi Nategh
53f156a66b
WIP implementing colorpicker widget
2021-09-02 16:47:49 +02:00
nathan
2e712c47bc
Move the rest of the WebComponents into their own directory to get ready for tests
2021-08-25 15:35:06 -06:00
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
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
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
nathan
243d769d7c
- Change filenames to match classnames
...
- Change node import syntax
2021-08-12 10:32:05 -06: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
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
b0322c549a
Attribute parsing & basics of WebComponents looking like et2 widgets
2021-07-14 09:49:36 -06: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
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
89695620bc
Make sure et2 widgets are there before the container into vfsSelectUI app object
2021-07-06 15:50:49 +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
1971fa0e18
Import vfsSelectUI
2021-07-02 11:44:11 +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
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
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
9242673aa1
- A first webcomponent (et2-button)
...
- Some mixin logic, not used but available
2021-06-23 15:39:58 -06: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
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
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
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
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
f91bca83e1
got et2 mostly working: timesheet.edit renders
2021-06-07 17:33:53 +02:00
nathangray
d367da6ba8
Etemplate: switch to tab of first invalid input, not last
2021-05-05 10:09:31 -06:00
Hadi Nategh
c370941c51
Keep private app objects if dialog gets destroyed
2021-04-20 15:30:46 +02:00
Hadi Nategh
c089e73678
Implements et2_audio widget
2021-03-10 14:52:32 +01:00
Hadi Nategh
65b24440a0
Implement widget countdown timer
2020-11-23 21:11:19 +01:00
Hadi Nategh
7d1cd4c12c
WIP Multitabs:
...
- Fix wrong ids generated for sideboxes
- Fix tab header refresh
2020-10-22 13:52:17 +02:00
Hadi Nategh
7f4535cf1d
WIP multitabs and CRM view
2020-09-30 13:19:36 +02:00
Hadi Nategh
cdbc5e3a71
Create new sidemenuEntry for tab target
2020-09-28 15:43:42 +02:00
Hadi Nategh
f88ae4f46a
Merge branch 'multitabs'
2020-09-25 11:30:32 +02:00
nathangray
293f9cc446
Etemplate: Different way to download generated files to avoid destroying sessions of not-visible etemplates
2020-09-24 15:18:22 -06:00
Hadi Nategh
4bf65486ef
WIP of framework's multitab implementation
2020-09-23 16:55:35 +02:00
nathangray
5379a0c924
Home using non-global EgwApp instances for portlets
2020-07-30 13:00:53 -06:00
nathangray
3e9794e526
Etemplate: Do not bother to resize hidden etemplates
...
Fixes Admin > App > Site config gets resized incorrectly when switching to another app's tab & back
2020-07-22 15:51:42 -06:00
Ralf Becker
8e213a7de5
set id of DOM container, in case server-side returned a different eTemplate
2020-07-21 22:05:08 +02:00
nathangray
bd6b20bae8
Fix home cannot find its portlet templates
...
This reverts commit ff0cdf8143
.
2020-07-20 14:34:10 -06:00
nathangray
10846271f1
Close confirm improvements & fixes
...
- nextmatch is now always not dirty
- Logging the dirty widgets to console
- Fix searchbox did not fully doLoadingFinished()
2020-06-29 11:55:35 -06:00
nathangray
143be4dc98
Etemplate: Cancel buttons do not trigger the change/close prompt
2020-06-24 10:37:57 -06:00
nathangray
52714f0a63
Etemplate: Check dirty before closing, ask if there are changes
2020-06-19 13:27:41 -06:00
nathangray
aab5415873
* Etemplate: Password widget improvements - suggest password button, added as custom field type (stored encrypted)
2020-06-12 10:56:53 -06:00
Ralf Becker
ff0cdf8143
set id of DOMContainer, in case it changed because server-side send a different template
2020-06-04 17:04:32 +02:00
nathangray
ec6a3881e3
Still need to clear before loading or dialogs get doubled
2020-04-22 14:53:11 -06:00
nathangray
444babdbc8
Api: Take care of private app.js instances, make sure they're included in iteration.
...
Iterate over all app.js instances (public & private) using:
for (var app_obj of window.EgwApp) {...}
2020-04-21 15:36:17 -06:00
Hadi Nategh
0cc7ce12d0
merge master
2020-03-05 14:45:25 +01:00
nathangray
0f898acbb2
Fix action bugs where actions were not properly linking
2020-02-27 11:54:55 -07:00
nathangray
de426e1232
Some types & fixes
2020-02-25 09:05:32 -07:00
nathangray
49493a6af8
Convert etemplate2 to typescript
2020-02-24 15:16:40 -07:00