Commit Graph

81 Commits

Author SHA1 Message Date
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