ralf
d9d14f1e2a
implement appicon as web-component and remove/replace legacy et2_widget_image with stubs
2022-08-07 11:55:02 +02:00
ralf
29ac5d82a9
remove legacy widgets url-*, colorpicker and tabs
2022-08-07 11:02:54 +02:00
ralf
ba35be1d86
Change Et2Checkbox to behave closer to legacy et2_widget_checkbox and thereby fixing all sorts of errors with it.
...
Fix vfsSelectUI to be able to select files again with click on the row and only submit selected files.
Also change Et2Widget.iterateOver and legacy et2_widget.interateOver to be called with new web-component classes like Et2Checkbox. Also make Et2Widget matching all widgets by default like et2_widget.
Remove legacy et2_widget_checkbox code.
2022-08-07 10:10:33 +02:00
ralf
239a81e6d9
replace et2_link_add with a stub and no longer include it in etemplate2.ts
2022-08-06 08:38:16 +02:00
ralf
49aba7193d
adapt tab-activation on validation error to new tabs and additionally scroll widget into view
2022-08-05 20:33:29 +02:00
nathan
462f5bb55d
Fix widget without ID breaks submit
2022-08-03 11:45:45 -06:00
ralf
c3673b1126
ported timestamper to a web-component
...
also implemented legacy methods activateTab() and setActiveTab() for new tabs widget
2022-08-03 15:48:35 +02:00
Hadi Nategh
67b5c31404
Implements Et2Switch widget extended from shoelace switch
2022-08-03 13:41:08 +02:00
nathan
db143f047a
Change tabs to use Shoelace
...
Includes changes to historylog, since it did some deferred loading & sizing magic based on tab
2022-08-02 10:33:04 -06:00
ralf
125a8abf61
only call widget.resize() if it's a function:
...
- web-components do not implement it
- et2-textarea / SlTextarea uses resize as a property name
--> we can postpone the decision, if we need an explicit resize handler for our web-components, or using flex is sufficient, for now
2022-07-29 15:29:51 +02:00
nathan
04ac4d6045
Readonly checkbox
2022-07-28 10:28:22 -06:00
Hadi Nategh
e0b4c5f6af
Implements Et2Details webcomponent widget
2022-07-28 15:01:17 +02:00
nathan
7df2876d8a
New checkbox webcomponent based on SlCheckbox
2022-07-27 15:51:32 -06:00
ralf
879fb84229
automatic focus on first et2-textbox too, not just input
2022-07-27 10:29:31 +02:00
ralf
ac0867ab77
implement et2-searchbox and using it in NM
...
reorganized preprocessor a bit to fix some not replaced size attributes
also pass on constructor args in all Et2Url widgets
There is still a JS error in new searchbox, causing admin searchbox to not render :(
2022-07-22 20:43:09 +02:00
ralf
888b518e9b
implement et2-password web-component replacing passwd legacy widget
...
enabled Et2InvokerMixin to use an image instead of a textual label
also remove et2_fullWidth CSS class from all web-components in the preprocessor
2022-07-22 15:21:40 +02:00
ralf
b1da5b05a9
remove not used Et2Taglist
2022-07-21 17:22:47 +02:00
nathan
5deef4844d
Add Et2LinkAdd widget
2022-07-18 16:34:58 -06:00
nathan
3c96eb9ce6
Fix webcomponents with validation errors did not get tab activated
2022-07-14 11:37:29 -06:00
Hadi Nategh
97019379d8
WIP converting avatar widgets to webcomponent
2022-07-12 17:14:44 +02:00
nathan
ad82ea8faf
Et2Select layout improvements
...
- Added RowLimitedMixin to limit rows
- when multiple=true tags take full width by default, but intelligently resize
- No longer showing search icon
- Move Et2EmailTag add / CRM button to left of remove button
2022-07-11 17:27:17 -06:00
nathan
ed16ce52a2
Change nextmatch headers to use web components
2022-07-07 13:18:42 -06:00
nathan
76a19e86fb
Fix selectboxes didn't show server-side validation messages
2022-06-30 08:40:17 -06:00
nathan
d11be10fa1
Et2SelectEmail: Add button on hover to add a new contact with the email
...
(multiple)
2022-06-24 12:10:10 -06:00
nathan
9b3de5db95
Et2SelectCountry: Use CSS for flag images
2022-06-22 16:13:58 -06:00
nathan
4fe62a0322
Reset dirty after load to avoid unwanted close prompt
2022-06-21 09:22:39 -06:00
nathan
e44ca6183a
Promote select category to its own file
2022-06-20 09:35:38 -06:00
nathan
f13bf7b154
Et2SelectThumbnail
2022-06-17 13:07:33 -06:00
nathan
260d8f523a
Get category icons & colors working for select category
...
Also some refactoring of things to where they should be
2022-06-15 16:43:39 -06:00
nathan
531cc473e2
Et2Select: Implement allowFreeEntries & editModeEnabled properties
...
Also added Et2SelectEmail, which uses them
2022-06-10 10:11:34 -06:00
nathan
b58045c19f
Et2LinkTo: Start of link-to
...
still needs to work for new entries
2022-06-06 13:31:33 -06:00
nathan
9b0e1b9206
Work on LinkEntry
2022-05-31 13:41:39 -06:00
nathan
aa20af559a
LinkApp selection
2022-05-27 14:11:35 -06:00
nathan
776ce7202a
Et2Favorites
2022-05-18 11:01:27 -06:00
ralf
273fe9a28a
diverse fixes loading no longer existing legacy widgets like description
2022-05-13 15:32:36 +02:00
ralf
ac5932240b
remove old expose view / blueimp gallery and all widgets which have been using them:
...
- new web-components are unconditionally replacing them via the preprocessor
- some widgets (eg. et2_description) could not be removed as other legacy widgets are extending them, but they are no longer registered
- as there are many places using et2_createWidget('description', ...), et2_description returns now web-components for no longer existing widgets
2022-05-13 11:59:13 +02:00
nathan
8172f6e72d
Et2DropdownButton WIP
2022-05-12 15:22:49 -06:00
nathan
b88267160e
WIP on Et2LinkList
2022-05-11 10:35:47 -06:00
nathan
816ab87f13
Et2VfsMime added as WebComponent
2022-05-06 15:07:07 -06:00
nathan
797c615060
Move Et2Box into Layout
2022-05-06 11:57:53 -06:00
nathan
063c772fbb
Et2DescriptionExpose, used in Mail app
2022-05-05 13:48:39 -06:00
nathan
efcd5bbe51
Et2ImageExpose
2022-05-04 17:31:42 -06:00
Hadi Nategh
eecad5f70f
Set back focus to the first field in form
2022-05-04 14:14:48 +02:00
ralf
ef7c175814
remove jQueryUI DateTime picker and splitter and use them also for eTemplates marked as legacy
2022-04-29 17:05:43 +02:00
nathan
278f75546a
Fix submit proceeded even if legacy widget failed validation
2022-04-27 11:56:03 -06:00
nathan
1c42668a97
Change sidebox calendar from jQuery to webcomponent / flatpickr
2022-04-26 15:27:49 -06:00
nathan
ce14c1c9f6
Et2Split: Convert splitter to webcomponent
2022-04-19 09:36:44 -06:00
nathan
2ba299f876
Change buttons that used to be just an image to be just an image
...
- Remove Et2ButtonImage, it's not needed. Buttons without labels look the same
- Add Et2Image to take its place
- Change etemplate modifier to use Et2Image for buttononly
- Some styling for mail account placeholder button
2022-04-08 13:03:20 -06:00
nathan
57e231aced
New Et2ButtonImage that shows only image
...
Also doesn't stretch like the others do.
2022-04-05 09:15:08 -06:00
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