Commit Graph

128 Commits

Author SHA1 Message Date
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
38721229b0 inject preprocessor and (daily) cache-buster for templates in dialog widget
also allow for a xml comment inside the deprecated menulist tag
fixes Admin ACL popup
2022-07-27 17:54:09 +02:00
ralf
e1097d9ea3 fix <button...></button> was removed and reorganized preprocessor to only consider boxes for <overlay legacy="true"> 2022-07-27 11:04:08 +02:00
ralf
9fe7b22d1f use method to parse and serialize attributes 2022-07-26 18:00:12 +02:00
ralf
656c155951 fix button tags over multiple lines were not processed correctly 2022-07-26 17:36:34 +02:00
ralf
79df51dbbb show "Search" as placeholder
fix sometimes not modified <textbox by adding it to ADD_ET2_LEGACY_PREFIX_REGEXP too
2022-07-24 09:31:58 +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
0044398090 fix preprocessor was not replacing all size attributes with width for web-components 2022-07-22 17:20:44 +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
e90ae88a20 fix preprocessor and transformer can't know if application widget is a web-component or a legacy widget
- white-list now records-* like et2-* widgets for camelCase attribute names
- server-side transformer also transforms attribute-names to camelCase for widget-type et2-*
- client-side transformAttributes() also transforms attribute-names to camelCase for widget-type et2-*
--> hopefully this can be dropped, once als widgets are web-components
2022-07-22 11:08:55 +02:00
nathan
e4f8c88e1e Map template attribute size="#" => width="#ex" to avoid conflict with Shoelace size attribute 2022-07-21 11:33:42 -06:00
ralf
39a3ef8183 rename parent_node to parentId, as parentNode is already a DOM property 2022-07-21 19:29:43 +02:00
ralf
b9d96ea3e9 change all attribute-names of new et2-* widgets to camelCase
only exception is select_options, never used in templates
2022-07-21 17:57:50 +02:00
ralf
50eabfd290 fix not changed nextmatch-customfilter and listbox (old alias of select) 2022-07-21 12:10:58 +02:00
Hadi Nategh
5f86313f46 Fix soe of avatar issues:
- fix letter avatar not getting background
- fix default size
- fix letter avatar not being able to set existing src
2022-07-15 13:35:23 +02:00
nathan
ff6d0ef785 Fix handling of modified widget type.
It wasn't working if a Transform changed the widget type to a webcomponent
2022-07-08 09:24:03 -06:00
nathan
ed16ce52a2 Change nextmatch headers to use web components 2022-07-07 13:18:42 -06:00
ralf
2756b9b247 quote double quotes, if replacing single quotes with double quotes
attr='Some "important" text' --> attr="Some &quot;important&quot; text"
2022-07-01 14:39:54 +02:00
nathan
29bd389c36 Don't set attributes on sub-classes - it's not needed, and interferes with taglist-account 2022-06-22 14:33:58 -06:00
ralf
1218cce8bb fix typo "editModeEnabled" 2022-06-22 16:35:05 +02:00
ralf
2db52d939b improve automatic conversation from taglist, by setting multiple=true, allowFreeEntries=true and enableEditMode=true
fix Admin > Mail account by using et2-select-email instead of taglist, as et2-select-multiple does NOT yet support allowFreeEntries and enableEditMode
2022-06-22 16:28:34 +02:00
nathan
ce474a1cd1 Fix IDE reformatting of templates could cause template mangler to discard attributes that were reflowed to a new line 2022-06-20 08:56:56 -06:00
ralf
48b82ef104 fix <select type="select-something" was wrongly converted to <et2-selectsomething 2022-06-18 12:21:05 +02:00
ralf
d3cfbbe5e6 enable taglist-thumbnail --> et2-select-thumbnail conversation
also convert select with options to et2-select and move select/taglist conversation to always run, independent of legacy=true
2022-06-17 22:54:54 +02:00
ralf
980f7cb0df fix first category was always selected in calendar.edit as somehow select_options were set before multiple
removed the deduplicate select-first-option code now in favor of the one in firstUpdate
also automatic convert empty_label for et2-select multiple into a placeholder
2022-06-13 14:39:01 +02:00
ralf
f6471eabb1 replace single quote enclosing attribute values with double quotes 2022-06-13 09:57:24 +02:00
ralf
493455d3e0 enable Nathan's new taglist/select multiple now for all taglist, but taglist-thumbnail 2022-06-13 08:20:53 +02:00
ralf
240f79efbf change link attribute only_app to et2-link attribute app and map r/o link-entry to link
also fix et2-link to not display ??, if it has no value
2022-06-09 23:02:01 +02:00
ralf
136b6e82d0 also replace <description/> and remove unnecessary empty <description/> from infolog.index 2022-06-08 18:27:14 +02:00
ralf
412a4a50ce permanently enable all link-* widgets
(not yet dropped old et2_link_widget class)
2022-06-07 22:25:43 +02:00
ralf
be5e049a07 fix link-entry legacy-options where not translated 2022-06-07 22:16:55 +02:00
ralf
6ae098db93 enable taglist and taglist-cat mapped to et2-select-* multiple=true
also adding cat_N class to categories (need there CSS adapted)
2022-06-06 18:21:31 +02:00
nathan
e9d3db9b6d Et2Select: Add missing support for options on static type options (number, percent) 2022-06-03 10:19:05 -06:00
ralf
0aa813a0ff got LinkEntry mostly working 2022-06-01 16:05:34 +02:00
ralf
c174e29238 remove again removing of empty description and label widgets as they are needed in tables to place widgets in the correct column
also add (currently) commented out conversation for taglist
2022-05-27 16:25:12 +02:00
ralf
d7beb18470 adding favorites widget to fix calendar.toolbar showing a placeholder 2022-05-20 14:29:58 +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
ralf
485fa5e857 fix et2-button attribute hideOnReadonly was removed from the template
add hideOnReadonly to timesheet.edit buttons
also move link widgets to legacy-regexp, so we can drop the old expose code
2022-05-12 18:16:34 +02:00
nathan
d23b7c1a51 Link fixes
- Enable link webcomponents in etemplate.php
- Fix widget ID got overwritten
- Put title into light DOM for easier styling
- Styling
2022-05-11 15:10:09 -06:00
ralf
e82387c15e adding automatic conversation to et2-vfs-mime, fix gallery indicators to use images again and some CCS fixes 2022-05-07 13:31:46 +02:00
ralf
7dc959c223 automatic convert <(image|description) expose_view="true" to <et2-*-expose 2022-05-05 19:07:44 +02:00
ralf
3eaed09185 fix not working et2-date-since and rename et2-date-time_today to et2-date-time-today
create a new method egw.getTimezoneOffset() return current offset according to user preferences on server-side, like (new Date).getTimezoneOffset()
2022-05-05 11:38: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
234684061d Et2Split: Bugfixes
- better handling of nested dynheight
- handling orientation property
- avoid resizing when not visible
2022-04-20 14:15:49 -06:00
nathan
ce14c1c9f6 Et2Split: Convert splitter to webcomponent 2022-04-19 09:36:44 -06:00
nathan
319bd51f80 Et2Image bugfixes
- No src or default_src gives nothing, not missing image
- Fix etemplate.php parser so buttons that get converted to images still submit
2022-04-12 10:00:43 -06:00
nathan
e3be42721e Fix Et2Image did not double-transform src for as legacy image did
eg:
if $content[0][type] = "group"
${row}[type] => "0[type]" (single transform)
0[type] => "group" (double transform)

Also, fix type from addressbook list to not need double-transform
2022-04-11 15:03:24 -06:00
ralf
abba483377 limit et2-buttononly w/o background_image conversation to et2-image to non-list / -NM templates 2022-04-09 09:15:18 +03:00
nathan
77a11cb5fe Fix image src not getting set 2022-04-08 14:03:29 -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
3f86e98257 Deal with et2-button-image showing label 2022-04-07 16:24:45 -06:00
ralf
e782cb9105 add processing of new et2-button-image tag and new/changed et2-button attributes 2022-04-07 21:05:32 +03:00
nathan
72736566e2 Convert <buttononly/> => <button doSubmit="false"/> 2022-04-05 09:13:14 -06:00
ralf
dd7ebad1e7 Implement et2-select-account 2022-03-10 20:20:32 +02:00
ralf
0099b094b9 Fix TypeError: Cannot set property options 2022-03-10 14:57:00 +02: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
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
ralf
5ac43d7a5a deprecated and replace attributes: needed-->required, blur-->placeholder in preprocessor
remove client-side code for them and enable translation of placeholder
2022-03-05 15:25:53 +02:00
ralf
89613dd368 fix et2-date-duration showing NaN:NaN in timesheet
boolean attributes should not have a default of true, because DOM does NOT reflect false and we need to reflect for use in NM
--> changed default for select_unit for r/o duration to false and set it in timesheet.index to true
--> changing it for r/w too would require a lot of xet files to be updated (we don't need reflection there)
2022-03-02 11:02:24 +02:00
ralf
a6d297afb7 ignore further legacy options for select, to not display them as part of the empty_label 2022-02-28 13:41:02 +02:00
nathan
ecd8b08373 Fix timesheet edit could not select start date
Unimplemented "mode" legacy option was conflicting with flatpickr "mode" attribute
2022-02-22 10:01:55 -07:00
ralf
ebfdc1f718 fix array_combine requires same number of values as keys 2022-02-18 11:01:33 +02:00
ralf
72f227d670 transforming legacy options in preprocessor (not all select-* stuff implemented currently) 2022-02-18 09:44:25 +02:00
ralf
a7ba4c0727 enable web-components for all date and select (without tags or search attribute)
also reverting unnecessary explicit changes to et2-* in infolog.edit
2022-02-16 10:38:28 +02:00
ralf
5ff64259ee switch simple/untyped r/w selectboxes on to use web-components 2022-02-15 09:17:14 +02:00
Ralf Becker
073e7b9d2c enable et2-date-(duration|since)
need to register et2-date-since without _ro prefix, as there is only a r/o variant of the widget (currently)
2022-01-22 11:01:24 +02:00
Ralf Becker
7e4bdece84 allow to set <overlay legacy="true"> to disable new web-components for the whole xet-file
also disable (not working) r/w et2-select web-component again
2022-01-20 22:09:48 +02:00
nathan
96c174d483 Implement select-account_ro as web component 2022-01-19 13:17:46 -07:00
Ralf Becker
5ec2a233a4 using WCs for simple select, r/o select-* and r/o date(-time)
ToDo/Questions Nathan:
- Tracker index gives a client-side TypeError
- <et2-select-account readonly="true" is not registered, but <et2-select type="select-account" readonly="true" works
- <et2-date-time was registered as <et2-datetime, was that a typo of a conscious choice to rename the widget and not just prefix with et2-
- not yet enabled are r/w et2-date(-time)
- still missing are r/o et2-date-(since|duration)
2022-01-19 10:58:01 +02:00
Hadi Nategh
b648d4593d Add colorpicker into ready WC widgets 2021-12-14 14:47:58 +01:00
Ralf Becker
4063f9fcdb modify <buttononly.../> --> <et2-button type="buttononly"...></et2-button>
also adding a class .et2_buttonFitContent and using it for filemanager.admin
2021-09-16 09:03:15 +02:00
Ralf Becker
70e838b267 modify <textbox multiline="true".../> --> <et2-textarea...></et2-textarea> 2021-08-21 09:55:21 +02:00
nathan
0ea5e2e35f Define the constant only once... 2021-08-19 08:16:36 -06: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
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
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