Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
234 commits
Select commit Hold shift + click to select a range
25a8300
design-system-twig composer
tischsoic Jan 29, 2026
aef12b7
draft list delete button
tischsoic Feb 3, 2026
8b3a60f
Replace buttons with design system button component in search view
tischsoic Feb 3, 2026
cd7f5f2
Add button migration orchestration system
tischsoic Feb 4, 2026
1641f67
Reorganize button migration files into migrations/ directory
tischsoic Feb 4, 2026
af7e31e
Implement TypeScript component migration orchestrator
tischsoic Feb 4, 2026
4ad4bdb
fix: Migrate account/error/credentials_expired.html.twig to design-sy…
tischsoic Feb 16, 2026
74e4f31
fix: Migrate account/profile/view.html.twig to design-system-twig
tischsoic Feb 16, 2026
2d5cdac
fix: Migrate account/forgot_password/confirmation_page.html.twig to d…
tischsoic Feb 16, 2026
1752bcb
fix: Migrate ui/component/details/details.html.twig to design-system-…
tischsoic Feb 16, 2026
feee089
fix: Migrate ui/field_type/edit/binary_base.html.twig to design-syste…
tischsoic Feb 16, 2026
f58e272
fix: Correct Twig syntax error in binary_base.html.twig
tischsoic Feb 16, 2026
df7ebcb
Migrate buttons in content/modal/version_conflict.html.twig
tischsoic Feb 16, 2026
535d5d1
Migrate button in ui/field_type/preview/content_fields.html.twig
tischsoic Feb 16, 2026
b1cab6e
Migrate buttons in section/list.html.twig
tischsoic Feb 16, 2026
712b5e5
fix: Correct attr prop usage in version_conflict.html.twig
tischsoic Feb 18, 2026
fba33e7
fix: Correct attr prop usage in content_fields.html.twig
tischsoic Feb 18, 2026
c5e4a28
fix: Correct attr prop usage in section/list.html.twig
tischsoic Feb 18, 2026
d07d092
docs: Update migration plan with attr prop fix and testing strategy
tischsoic Feb 18, 2026
e628346
fix: Replace unsupported 'ghost' type with 'tertiary'
tischsoic Feb 18, 2026
b66e8fb
docs: Document ghost type issue and fix in migration plan
tischsoic Feb 18, 2026
5e53c85
fix: Correct icon names for design-system-twig compatibility
tischsoic Feb 18, 2026
5e65cd5
docs: Add comprehensive icon name mapping guide
tischsoic Feb 18, 2026
e97d056
fix: Migrate buttons in ibexa_image.html.twig
tischsoic Feb 18, 2026
51cd5a8
fix: Migrate buttons in ibexa_media.html.twig
tischsoic Feb 18, 2026
c0b31a4
fix: Migrate buttons in relation_base.html.twig
tischsoic Feb 18, 2026
8b1e5d6
fix: Migrate buttons in versions tab
tischsoic Feb 18, 2026
2da98aa
fix: Migrate buttons in translations tab
tischsoic Feb 18, 2026
d5a8f23
fix: Migrate buttons in locations tab
tischsoic Feb 18, 2026
675299c
fix: Migrate buttons in input_text component
tischsoic Feb 18, 2026
d84aefd
fix: Migrate buttons in bookmarks toggle switch
tischsoic Feb 18, 2026
4710fad
fix: Migrate buttons in add translation modal
tischsoic Feb 18, 2026
9dd8b01
fix: Migrate buttons in draft conflict modal
tischsoic Feb 18, 2026
db186a9
revert: Restore legacy button structure in input_text component
tischsoic Feb 18, 2026
f9b7650
refactor: Remove ids-btn--disabled class from JavaScript
tischsoic Feb 18, 2026
26aa38f
docs: Fix remaining ids-btn--disabled reference in MIGRATION_RULES.md
tischsoic Feb 18, 2026
65547d0
fix: Migrate buttons in bulk_delete_confirmation modal
tischsoic Feb 18, 2026
636edef
fix: Migrate buttons in delete_confirmation modal
tischsoic Feb 18, 2026
ee175b1
fix: Migrate Cancel button in location_trash modal
tischsoic Feb 18, 2026
2d46681
fix: Migrate buttons in hide_confirmation modal
tischsoic Feb 18, 2026
3f095bf
fix: Migrate buttons in ibexa_binaryfile field type editor
tischsoic Feb 18, 2026
3de1f17
fix: Migrate buttons in ibexa_gmap_location field type editor
tischsoic Feb 18, 2026
feb0c6d
fix: Migrate Edit button in object_state/view
tischsoic Feb 18, 2026
8778093
fix: Migrate buttons in object_state/list
tischsoic Feb 18, 2026
4656e1b
fix: Migrate buttons in ibexa_author field type editor
tischsoic Feb 18, 2026
2db8d37
fix: Migrate buttons in ibexa_image_asset field type editor
tischsoic Feb 18, 2026
03d2063
docs: Update MIGRATION_RULES.md with tertiary-alt mapping corrections
tischsoic Feb 25, 2026
fd728e6
fix: Add ghost button style mapping in _buttons.scss
tischsoic Feb 25, 2026
46a8103
fix: Migrate buttons in account/bookmarks/list
tischsoic Feb 25, 2026
fa6af77
fix: Migrate buttons in account/bookmarks/toggle_switch
tischsoic Feb 25, 2026
83942de
fix: Migrate buttons in account/forgot_password/confirmation_page
tischsoic Feb 25, 2026
3a20c2a
fix: Migrate buttons in account/forgot_password/index
tischsoic Feb 25, 2026
4a2a1bf
fix: Migrate buttons in account/notifications/filters
tischsoic Feb 25, 2026
8cba5b6
fix: Migrate buttons in account/notifications/list_all
tischsoic Feb 25, 2026
ab0dab8
fix: Migrate buttons in account/notifications/list_item
tischsoic Feb 25, 2026
aa9dda6
fix: Migrate buttons in account/notifications/list_item_all
tischsoic Feb 25, 2026
be65fd8
fix: Migrate buttons in account/notifications/side_panel
tischsoic Feb 25, 2026
022fa06
fix: Migrate buttons in account/profile/view
tischsoic Feb 25, 2026
cffa9c7
fix: Migrate buttons in account/settings/list
tischsoic Feb 25, 2026
150ed6d
fix: Migrate buttons in content/draft/draft_list
tischsoic Feb 25, 2026
5d4cac8
fix: Migrate buttons in content/modal/draft_conflict
tischsoic Feb 25, 2026
ac5acfd
fix: Migrate buttons in content/modal/hide_confirmation
tischsoic Feb 25, 2026
b0ce7c7
fix: Migrate buttons in content/tab/locations
tischsoic Feb 25, 2026
5d6f908
fix: Migrate buttons in content/tab/translations
tischsoic Feb 25, 2026
1e6b65f
fix: Migrate buttons in content/tab/urls
tischsoic Feb 25, 2026
71e2b55
fix: Migrate buttons in content/tab/versions
tischsoic Feb 25, 2026
ed30e4e
fix: Migrate buttons in content_type/content_type_group/list
tischsoic Feb 25, 2026
b046e23
fix: Migrate buttons in content_type/field_definitions
tischsoic Feb 25, 2026
8cea057
fix: Migrate buttons in content_type/list
tischsoic Feb 25, 2026
a74af80
fix: Migrate buttons in language/list
tischsoic Feb 25, 2026
12d7a4c
fix: Migrate buttons in link_manager/list
tischsoic Feb 25, 2026
a047dac
fix: Migrate buttons in link_manager/view
tischsoic Feb 25, 2026
32757d9
fix: Migrate buttons in object_state/list
tischsoic Feb 25, 2026
9e5d6d8
fix: Migrate buttons in object_state/object_state_group/list
tischsoic Feb 25, 2026
9db3283
fix: Migrate buttons in section/list
tischsoic Feb 25, 2026
c87e675
fix: Migrate buttons in section/view
tischsoic Feb 25, 2026
feb1ea9
fix: Migrate buttons in trash/list
tischsoic Feb 25, 2026
c02861b
fix: Migrate buttons in url_wildcard/list
tischsoic Feb 25, 2026
12e032b
fix: Migrate buttons in user/invitation/modal_entry
tischsoic Feb 25, 2026
50b4913
fix: Migrate buttons in user/policy/list
tischsoic Feb 25, 2026
5b95d1f
fix: Migrate buttons in user/role/list
tischsoic Feb 25, 2026
c2d27c9
fix: Migrate buttons in user/role_assignment/list
tischsoic Feb 25, 2026
9561099
fix: Migrate buttons in ui/component/adaptive_filters
tischsoic Feb 25, 2026
0625d95
fix: Migrate buttons in ui/component/collapse
tischsoic Feb 25, 2026
c5a6255
fix: Migrate buttons in ui/component/collapse_all_btn
tischsoic Feb 25, 2026
6c5c19f
fix: Migrate buttons in ui/component/details
tischsoic Feb 25, 2026
be8e392
fix: Migrate buttons in ui/component/embedded_item_actions
tischsoic Feb 25, 2026
5831660
fix: Migrate buttons in ui/component/extra_actions
tischsoic Feb 25, 2026
0987d3e
fix: Migrate buttons in ui/component/input_text
tischsoic Feb 25, 2026
8e9a674
fix: Migrate buttons in ui/component/inputs/input_date_time_picker
tischsoic Feb 25, 2026
08f3921
fix: Migrate buttons in ui/component/modal
tischsoic Feb 25, 2026
52189b7
fix: Migrate buttons in ui/component/taggify
tischsoic Feb 25, 2026
b43805d
fix: Migrate buttons in ui/edit_translation_button
tischsoic Feb 25, 2026
e9957e6
fix: Migrate buttons in ui/field_type/edit/ibexa_author
tischsoic Feb 25, 2026
26319c4
fix: Migrate buttons in ui/field_type/edit/ibexa_binaryfile
tischsoic Feb 25, 2026
41f4bc3
fix: Migrate buttons in ui/field_type/edit/ibexa_gmap_location
tischsoic Feb 25, 2026
02591da
fix: Migrate buttons in ui/field_type/edit/ibexa_image
tischsoic Feb 25, 2026
b428d2a
fix: Migrate buttons in ui/field_type/edit/ibexa_image_asset
tischsoic Feb 25, 2026
c07da6d
fix: Migrate buttons in ui/field_type/edit/ibexa_media
tischsoic Feb 25, 2026
2d93f9e
fix: Migrate buttons in ui/field_type/edit/relation_base
tischsoic Feb 25, 2026
5b71136
fix: Migrate buttons in ui/field_type/preview/content_fields
tischsoic Feb 25, 2026
c4ba015
fix: Migrate buttons in ui/form_fields
tischsoic Feb 25, 2026
e2386ea
fix: Migrate buttons in ui/global_search
tischsoic Feb 25, 2026
345ebba
fix: Rename ibexa-btn--cancel to ids-button--cancel
tischsoic Feb 25, 2026
c1a4b73
fix: Rename ibexa-btn--confirm to ids-button--confirm
tischsoic Feb 25, 2026
ca4eb3c
fix: Rename ibexa-btn--trigger to ids-button--trigger
tischsoic Feb 25, 2026
54a8a7c
fix: Rename ibexa-btn--login to ids-button--login
tischsoic Feb 25, 2026
9e9470b
fix: Rename ibexa-btn--close to ids-button--close
tischsoic Feb 25, 2026
c08ad8d
fix: Rename ibexa-btn--apply and ibexa-btn--clear to ids-button--*
tischsoic Feb 25, 2026
0187c1e
fix: Rename ibexa-btn--content-edit to ids-button--content-edit
tischsoic Feb 25, 2026
30cea98
fix: Rename ibexa-btn--reset-creator to ids-button--reset-creator
tischsoic Feb 25, 2026
d45ced1
fix: Rename ibexa-btn--copy-content-type to ids-button--copy-content-…
tischsoic Feb 25, 2026
b5f528e
fix: Rename ibexa-btn--add-draft to ids-button--add-draft
tischsoic Feb 25, 2026
f44f445
fix: Rename ibexa-btn--add-translation to ids-button--add-translation
tischsoic Feb 25, 2026
c244a9b
fix: Rename ibexa-btn--prevented to ids-button--prevented
tischsoic Feb 25, 2026
8462c0e
fix: Rename ibexa-btn--open-udw to ids-button--open-udw
tischsoic Feb 25, 2026
8ea7853
fix: Rename ibexa-btn--locate-me to ids-button--locate-me
tischsoic Feb 25, 2026
dc9f187
fix: Rename ibexa-btn--search-by-address to ids-button--search-by-add…
tischsoic Feb 25, 2026
edc41b1
fix: Rename ibexa-btn--add-author, bulk-remove-author, remove-author …
tischsoic Feb 25, 2026
f5817f2
fix: Rename ibexa-btn--translations-list-toggler, select-language, ac…
tischsoic Feb 25, 2026
423e3b9
fix: Rename ibexa-btn--close-config-panel to ids-button--close-config…
tischsoic Feb 25, 2026
a4dd918
fix: Rename ibexa-btn--cotf-create to ids-button--cotf-create
tischsoic Feb 25, 2026
5177b41
fix: Migrate buttons in content_type/content_type_group/index.html.twig
tischsoic Feb 25, 2026
dc86c7e
fix: Migrate buttons in language/index.html.twig
tischsoic Feb 25, 2026
fb38b28
fix: Migrate buttons in object_state/object_state_group/view.html.twig
tischsoic Feb 25, 2026
2559ed2
fix: Migrate buttons in ui/dashboard/dashboard.html.twig
tischsoic Feb 25, 2026
dead1d1
fix: Migrate buttons in ui/on_the_fly/create_on_the_fly.html.twig and…
tischsoic Feb 25, 2026
b8535d6
fix: Migrate cancel buttons in modal templates (B7-B12)
tischsoic Feb 25, 2026
c119883
fix: Migrate buttons in limitation/udw_limitation_value.html.twig
tischsoic Feb 25, 2026
823ba2f
fix: Migrate buttons in content_type/relation_form_fields.html.twig a…
tischsoic Feb 25, 2026
b377bfe
fix: Migrate buttons in account/notifications/list_all.html.twig
tischsoic Feb 25, 2026
339762d
fix: Migrate buttons in account/notifications/filters.html.twig
tischsoic Feb 25, 2026
790f955
fix: Migrate buttons in account/notifications/side_panel.html.twig
tischsoic Feb 25, 2026
f5eb910
fix: Migrate buttons in content/tab/urls.html.twig
tischsoic Feb 25, 2026
d473f78
fix: Migrate buttons in url_wildcard/list.html.twig
tischsoic Feb 25, 2026
7121ba8
fix: Migrate buttons in user/policy/list.html.twig
tischsoic Feb 25, 2026
84cf201
fix: Migrate buttons in user/role_assignment/list.html.twig
tischsoic Feb 25, 2026
d5da4ff
fix: Migrate buttons in user/invitation/modal.html.twig
tischsoic Feb 25, 2026
a5c59dc
fix: Migrate buttons in ui/component/alert/alert.html.twig
tischsoic Feb 25, 2026
6bd33aa
fix: Migrate buttons in ui/component/side_panel/side_panel.html.twig
tischsoic Feb 25, 2026
373fbea
fix: Migrate buttons in ui/component/collapse.html.twig
tischsoic Feb 25, 2026
b0c448e
fix: Migrate buttons in ui/layout.html.twig and ui/layout_error.html.…
tischsoic Feb 25, 2026
8e12dc5
fix: Migrate buttons in language/list.html.twig
tischsoic Feb 25, 2026
79d16a2
fix: Migrate buttons in user/role/list.html.twig
tischsoic Feb 25, 2026
eea912d
fix: Migrate buttons in content_type/content_type_group/list.html.twig
tischsoic Feb 25, 2026
a9987d6
fix: Migrate buttons in object_state/object_state_group/list.html.twig
tischsoic Feb 25, 2026
5cd6189
fix: Migrate buttons in content_type/field_definitions.html.twig
tischsoic Feb 25, 2026
8abb05d
fix: Migrate buttons in content_type/field_types.html.twig
tischsoic Feb 25, 2026
edde483
fix: Migrate submit button in ui/component/adaptive_filters/adaptive_…
tischsoic Feb 25, 2026
29f4873
fix: Rename ibexa-btn--extra-actions to ids-button--extra-actions in …
tischsoic Feb 25, 2026
cdf176e
fix: Rename ibexa-btn--create-translation to ids-button--create-trans…
tischsoic Feb 26, 2026
700bd44
[TMP] dependencies.json
tischsoic Feb 26, 2026
208b0a0
chore: remove AI tooling files (do not push)
tischsoic Mar 2, 2026
5e1eadb
revert: Restore legacy button structure in input_text component
tischsoic Mar 2, 2026
0e6093a
fix: Support both ids-button--trigger and ibexa-btn--trigger CSS clas…
tischsoic Mar 2, 2026
7c6f177
fix: Support both ids-button--extra-actions and ibexa-btn--extra-acti…
tischsoic Mar 2, 2026
87a74db
fix: Update createButton locator in RolesPage to match migrated twig:…
tischsoic Mar 2, 2026
9fafcb4
fix: Update Behat locators in RolePage and Dialog to match ids-btn DS…
tischsoic Mar 2, 2026
510ebca
fix: Update Behat locators across 14 files to match DS component CSS …
tischsoic Mar 2, 2026
60d06cc
fix: Update remaining Behat locators in UserProfilePage, UserSettings…
tischsoic Mar 2, 2026
a6272b5
fix: Remove stray verifyHttpStatus call, fix Twig syntax in UDW limit…
tischsoic Mar 2, 2026
28c8e5b
fix: Resolve Twig/Behat errors in Sections, media fields, ContentType…
tischsoic Mar 2, 2026
d617f79
Fix UDW button selector and revert collapse component DS migration
tischsoic Mar 2, 2026
eacc6b8
Fix UDW confirm and trash restore-under-new-location JS bugs
tischsoic Mar 2, 2026
55d477e
Fix Behat collapse expand and UDW confirm timeout
tischsoic Mar 3, 2026
37daea6
Fix UDW confirm race: wait for confirm button to be enabled
tischsoic Mar 3, 2026
c1c234c
fix: Prevent toggle-thrash in expandLastFieldDefinition by checking .…
tischsoic Mar 3, 2026
d5b22ad
fix: Update schedule-hide-cancel Behat locator
tischsoic Mar 4, 2026
635ad3d
fix: Update Dialog confirm locator to match DS ids-btn classes
tischsoic Mar 5, 2026
6b2f236
fix: Replace twig:ibexa: components inside Twig macros with plain HTML
tischsoic Mar 6, 2026
9b1d9d1
Revert "fix: Replace twig:ibexa: components inside Twig macros with p…
tischsoic Mar 6, 2026
d3588d1
fix: Replace twig:ibexa:button in Twig macros with component() functi…
tischsoic Mar 6, 2026
7e56724
fix: Replace invalid DS Button type="info" with type="secondary" in s…
tischsoic Mar 8, 2026
4ea133d
fix: Update CreateNewPopup addButton selector to match ids-btn--primary
tischsoic Mar 8, 2026
8efce5b
fix: Replace 'create' icon with 'add' icon in DS buttons and links
tischsoic Mar 8, 2026
5bbfed8
feat: Add .ids-btn--info CSS styles matching primary button appearance
tischsoic Mar 8, 2026
afb1ffe
fix: Update Matrix addRowButton locator to match ids-button--add-matr…
tischsoic Mar 8, 2026
a7e966b
revert: restore legacy info button in side panel
tischsoic Mar 17, 2026
fc0ef89
fix: increase SCSS specificity to fix DFM button visibility when usin…
tischsoic Mar 18, 2026
dd12ec9
fix: migrate context menu buttons to DS Button component
tischsoic Mar 18, 2026
cd90bf8
fix: use raw element with DS classes instead of twig:ibexa:button com…
tischsoic Mar 18, 2026
ef0aef0
fix: migrate split button to DS Button classes and icon component
tischsoic Mar 18, 2026
06d4712
fix: use arrow-chevron-down icon in DS split button toggle
tischsoic Mar 18, 2026
a15bbd8
fix: increase SCSS specificity for DS split button border-radius
tischsoic Mar 18, 2026
4ecd28f
fix: set DS split button height to 48px to match context menu bar
tischsoic Mar 18, 2026
157f69c
fix: increase SCSS specificity for DS context menu more button height
tischsoic Mar 18, 2026
644844c
feat: migrate React buttons to DS Button component (batch 1)
tischsoic Mar 19, 2026
59f5572
feat: migrate UDW React buttons to DS Button component (batch 2)
tischsoic Mar 19, 2026
c2c73e9
feat: migrate missed admin-ui buttons to DS Button (batch 3)
tischsoic Mar 19, 2026
a27aa93
fix: use DS classes for Twig form buttons
tischsoic Mar 20, 2026
c156614
fix: use DS classes in wildcard create modal button
tischsoic Mar 21, 2026
03ff4c2
fix: use DS classes in empty trash confirm button
tischsoic Mar 21, 2026
0cb89cb
fix: use DS classes in language delete modal button
tischsoic Mar 21, 2026
585e3d2
fix: use DS classes in user delete modal button
tischsoic Mar 21, 2026
ea5ae72
fix: use DS classes in custom URL modal button
tischsoic Mar 21, 2026
f210397
fix: use DS classes in section delete modal button
tischsoic Mar 21, 2026
eadfd27
fix: use DS classes in content add translation button
tischsoic Mar 21, 2026
7cbab38
fix: use DS classes in trash restore buttons
tischsoic Mar 22, 2026
be52875
fix: use DS classes in location trash modal button
tischsoic Mar 22, 2026
6e1a34d
fix: use DS classes in user invitation submit button
tischsoic Mar 22, 2026
051734c
fix: provide DS icon assets context in UDW
tischsoic Mar 23, 2026
ce5936c
fix: provide DS icon assets context in sub-items
tischsoic Mar 23, 2026
6243d81
fix: use DS classes in collapse all button
tischsoic Mar 23, 2026
dd504f6
fix: use DS classes in adaptive filters toggler
tischsoic Mar 23, 2026
65720dd
fix: use DS classes in bookmarks bulk action button
tischsoic Mar 23, 2026
498a7fd
fix: use DS classes in tag view select button
tischsoic Mar 23, 2026
efc1ed1
fix: use DS classes in section assigned content button
tischsoic Mar 23, 2026
a49f24f
fix: use DS classes in location swap button
tischsoic Mar 23, 2026
5f7a423
fix: use DS classes in context menu buttons
tischsoic Mar 23, 2026
3dfb97a
fix: use DS classes in sidebar base buttons
tischsoic Mar 23, 2026
97daf25
fix: use DS classes in right sidebar buttons
tischsoic Mar 23, 2026
0d61f85
fix: use DS classes in action list buttons
tischsoic Mar 23, 2026
0ac9144
fix: support DS button markup in context menu script
tischsoic Mar 23, 2026
d852c02
fix: align DS modal close buttons
tischsoic Mar 23, 2026
c9b3ddd
fix: hide adaptive filter fake DS toggler buttons
tischsoic Mar 23, 2026
a232bef
fix: restore DS styling in account auth forms
tischsoic Mar 23, 2026
4cd43f9
fix: align DS button icon sizing
tischsoic Mar 24, 2026
c40d863
fix context menu adapive items classes
tischsoic Apr 22, 2026
9bf16d9
fix UDW
tischsoic Apr 22, 2026
42f998f
fix: finish segmentation DS button migration
tischsoic Apr 22, 2026
ef41de5
fix: finish admin UI DS button migration
tischsoic Apr 22, 2026
f438da4
fix: align admin UI hide button helper
tischsoic Apr 23, 2026
0910711
fix: align admin UI draft edit button helper
tischsoic Apr 23, 2026
daf9de1
fix: remove admin UI legacy no-text DS mix
tischsoic Apr 23, 2026
9f84e0a
fix: align admin UI UDW swap button helper
tischsoic Apr 23, 2026
92d3a6c
fix: align admin UI DS button labels
tischsoic Apr 23, 2026
2fccb40
fix: align admin UI focus mode button label
tischsoic Apr 23, 2026
08f6e58
fix: use DS Button in admin UI language selector
tischsoic May 13, 2026
f3f2fa7
fix: use Twig button tags in admin UI macros
tischsoic May 14, 2026
5d8a43f
style: remove redundant Twig button html_type attrs
tischsoic May 14, 2026
e7847da
fix: use Twig button tags in admin UI templates
tischsoic May 14, 2026
f829bc4
style: fix Twig button tag indentation in admin UI templates
tischsoic May 14, 2026
7355c9f
remove TODOs
tischsoic May 15, 2026
2fd6a84
fix: avoid double-escaping limitation value template
tischsoic May 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,9 @@ package-lock.json
composer.lock
/var
tsconfig.json
.button-migration/*.log

# Migration tool runtime state
.button-migration/
migrations/*/.migration-state/
*.migration.log
8 changes: 8 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
"license": "(GPL-2.0-only or proprietary)",
"type": "project",
"description": "Ibexa Admin Ui",
"repositories": [
{
"type": "vcs",
"url": "https://github.com/ibexa/design-system-twig"
}
],
"replace": {
"ezsystems/ezplatform-admin-ui": "*"
},
Expand All @@ -27,6 +33,8 @@
"ibexa/content-forms": "~6.0.x-dev",
"ibexa/core": "~6.0.x-dev",
"ibexa/design-engine": "~6.0.x-dev",
"ibexa/design-system-twig": "~6.0.x-dev",
"ibexa/polyfill-php82": "^1.0",
"ibexa/rest": "~6.0.x-dev",
"ibexa/search": "~6.0.x-dev",
"ibexa/twig-components": "~6.0.x-dev",
Expand Down
11 changes: 11 additions & 0 deletions dependencies.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"recipesEndpoint": "",
"packages": [
{
"requirement": "dev-IBX-11332-link-c as 5.0.x-dev",
"repositoryUrl": "https://github.com/ibexa/design-system-twig",
"package": "ibexa/design-system-twig",
"shouldBeAddedAsVCS": false
}
]
}
2 changes: 2 additions & 0 deletions src/bundle/Resources/encore/ibexa.css.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ module.exports = (Encore) => {
path.resolve(__dirname, '../public/scss/ibexa-bootstrap.scss'),
path.resolve(__dirname, '../public/scss/ibexa.scss'),
path.resolve(__dirname, '../public/scss/ui/ibexa-modules.scss'),
path.resolve('./vendor/ibexa/admin-ui-assets/src/bundle/Resources/public/vendors/ids-assets/dist/css/styles.css'),
path.resolve('./vendor/ibexa/admin-ui-assets/src/bundle/Resources/public/vendors/flatpickr/dist/flatpickr.min.css'),
path.resolve(
'./vendor/ibexa/admin-ui-assets/src/bundle/Resources/public/vendors/flatpickr/dist/plugins/confirmDate/confirmDate.css',
Expand All @@ -18,6 +19,7 @@ module.exports = (Encore) => {
])
.addEntry('ibexa-admin-ui-security-base-css', [
path.resolve(__dirname, '../public/scss/ibexa-bootstrap.scss'),
path.resolve('./vendor/ibexa/admin-ui-assets/src/bundle/Resources/public/vendors/ids-assets/dist/css/styles.css'),
path.resolve(__dirname, '../public/scss/ibexa.scss'),
]);
};
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(function (global, doc, ibexa, Routing) {
const copyButtons = doc.querySelectorAll('.ibexa-btn--copy-content-type');
const copyButtons = doc.querySelectorAll('.ids-btn--copy-content-type');
const copyContentType = ({ currentTarget }) => {
const contentTypeCopyForm = doc.querySelector('form[name="content_type_copy"]');
const contentTypeIdentifierInput = contentTypeCopyForm.querySelector('#content_type_copy_content_type');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ import * as middleEllipsisHelper from '@ibexa-admin-ui/src/bundle/Resources/publ
};
const resetStartingLocation = ({ currentTarget }) => {
const container = currentTarget.closest('.ibexa-default-location');
const udwBtn = container.querySelector('.ibexa-btn--udw-relation-default-location');
const udwBtn = container.querySelector('.ids-btn--udw-relation-default-location');
const pathSelector = container.querySelector('.ibexa-default-location__path-selector');
const { relationRootInputSelector } = udwBtn.dataset;

Expand All @@ -62,7 +62,7 @@ import * as middleEllipsisHelper from '@ibexa-admin-ui/src/bundle/Resources/publ
pathSelector.classList.remove('ibexa-default-location__path-selector--filled');
};
const attachEvents = (container) => {
const udwBtn = container.querySelector('.ibexa-btn--udw-relation-default-location');
const udwBtn = container.querySelector('.ids-btn--udw-relation-default-location');
const deleteBtn = container.querySelector(SELECTOR_RESET_STARTING_LOCATION_BTN);
const choices = container.querySelectorAll('input[type="radio"]');

Expand All @@ -71,10 +71,20 @@ import * as middleEllipsisHelper from '@ibexa-admin-ui/src/bundle/Resources/publ
choices.forEach((choice) => choice.addEventListener('change', toggleDisabledState.bind(null, container), false));
};
const toggleDisabledState = (container) => {
const locationBtn = container.querySelector('.ibexa-btn--udw-relation-default-location');
const locationBtn = container.querySelector('.ids-btn--udw-relation-default-location');
const deleteBtn = container.querySelector(SELECTOR_RESET_STARTING_LOCATION_BTN);
const isDisabled = !container.querySelector('input[value="1"]').checked;

// Toggle disabled attribute for native HTML behavior
if (isDisabled) {
locationBtn.setAttribute('disabled', true);
deleteBtn?.setAttribute('disabled', true);
} else {
locationBtn.removeAttribute('disabled');
deleteBtn?.removeAttribute('disabled');
}

// Keep legacy 'disabled' class for backward compatibility with existing CSS
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for later: if at the end we decide to merge ds components to 6.0 not 5.0, we probably won’t need this

locationBtn.classList.toggle('disabled', isDisabled);
deleteBtn?.classList.toggle('disabled', isDisabled);
};
Expand Down
12 changes: 7 additions & 5 deletions src/bundle/Resources/public/js/scripts/admin.context.menu.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@

const menuButtons = [
...adaptedItemsContainer.querySelectorAll(
'.ibexa-context-menu__item > .ibexa-btn:not(.ibexa-btn--more), .ibexa-context-menu__item > .ibexa-split-btn',
'.ibexa-context-menu__item > .ibexa-btn:not(.ibexa-btn--more), .ibexa-context-menu__item > .ids-btn:not(.ibexa-btn--more), .ibexa-context-menu__item > .ibexa-split-btn',
),
];
const popupMenuElement = adaptedItemsContainer.querySelector('.ibexa-context-menu__item--more .ibexa-multilevel-popup-menu');
const showPopupButton = adaptedItemsContainer.querySelector('.ibexa-btn--more');
const getButtonLabel = (button) => button.querySelector('.ids-btn__label, .ibexa-btn__label')?.textContent ?? '';
const getItemButton = (item) => item.querySelector('.ids-btn, .ibexa-btn');

if (!showPopupButton) {
return;
Expand All @@ -24,7 +26,7 @@
return adaptedItemsContainer.querySelector('.ibexa-context-menu__item');
},
onAdapted: (visibleItems, hiddenItems) => {
const hiddenButtonsIds = [...hiddenItems].map((item) => item.querySelector('.ibexa-btn').id);
const hiddenButtonsIds = [...hiddenItems].map((item) => getItemButton(item)?.id).filter(Boolean);

Check warning on line 29 in src/bundle/Resources/public/js/scripts/admin.context.menu.js

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

`hiddenButtonsIds` should be a `Set`, and use `hiddenButtonsIds.has()` to check existence or non-existence.

See more on https://sonarcloud.io/project/issues?id=ibexa_admin-ui&issues=AZ6CRVquNUShnqe1PbSe&open=AZ6CRVquNUShnqe1PbSe&pullRequest=1838
const topBranchItems = multilevelPopupMenu.getBranchItems(topBranch);

topBranchItems.forEach((branchItem) => {
Expand All @@ -51,7 +53,7 @@
const mainBtn = menuButton.querySelector('.ibexa-split-btn__main-btn');
const splitBtn = menuButton.querySelector('.ibexa-split-btn__toggle-btn');
const relatedMainBtnId = mainBtn.id;
const mainBtnLabel = mainBtn.querySelector('.ibexa-btn__label').textContent;
const mainBtnLabel = getButtonLabel(mainBtn);
const {
alternativeMainBtnLabel: mainBtnAlternativeLabel,
alternativeMainBtnSublabel: mainBtnAlternativeSublabel,
Expand All @@ -60,7 +62,7 @@
const subitemsBtns = [...splitBtn.branchElement.querySelectorAll('.ibexa-popup-menu__item-content')];

const subitems = subitemsBtns.map((subitemBtn) => {
const subitemLabel = subitemBtn.querySelector('.ibexa-btn__label').textContent;
const subitemLabel = getButtonLabel(subitemBtn);
const relatedSubitemBtnId = subitemBtn.id;

return {
Expand Down Expand Up @@ -108,7 +110,7 @@
}

const relatedBtnId = menuButton.id;
const label = menuButton.querySelector('.ibexa-btn__label').textContent;
const label = getButtonLabel(menuButton);

return {
label,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@
udwRoot = ReactDOMClient.createRoot(udwContainer);
udwRoot.render(
React.createElement(ibexa.modules.UniversalDiscovery, {
onConfirm: handleUdwConfirm.bind(this, event.target),
onConfirm: handleUdwConfirm.bind(this, event.currentTarget),
onCancel: closeUDW,
title,
multiple: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
if (!modal) {
return;
}
const buttonCreate = modal.querySelector('.ibexa-btn--create-translation');
const buttonCreate = modal.querySelector('.ids-btn--create-translation');
if (!buttonCreate) {
return;
}
Expand Down
4 changes: 2 additions & 2 deletions src/bundle/Resources/public/js/scripts/admin.location.view.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ import { checkIsContainer } from './helpers/content.type.helper';
bootstrap.Modal.getOrCreateInstance(doc.querySelector('#version-draft-conflict-modal')).hide();
};
const attachModalListeners = (wrapper) => {
const addDraftButton = wrapper.querySelector('.ibexa-btn--add-draft');
const addDraftButton = wrapper.querySelector('.ids-btn--add-draft');
const conflictModal = doc.querySelector('#version-draft-conflict-modal');

if (addDraftButton) {
addDraftButton.addEventListener('click', addDraft, false);
}

wrapper
.querySelectorAll('.ibexa-btn--prevented')
.querySelectorAll('.ids-btn--prevented')
.forEach((btn) => btn.addEventListener('click', (event) => event.preventDefault(), false));

if (conflictModal) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
(function (global, doc) {
const searchForm = doc.querySelector('.ibexa-list-search-form');
const filtersContainerNode = doc.querySelector('.ibexa-list-filters');
const applyFiltersBtn = filtersContainerNode.querySelector('.ibexa-btn--apply');
const clearFiltersBtn = filtersContainerNode.querySelector('.ibexa-btn--clear');
const applyFiltersBtn = filtersContainerNode.querySelector('.ids-btn--apply');
const clearFiltersBtn = filtersContainerNode.querySelector('.ids-btn--clear');
const statusFilterNode = filtersContainerNode.querySelector('.ibexa-list-filters__item--statuses');
const typeFilterNode = filtersContainerNode.querySelector('.ibexa-list-filters__item--type');
const datetimeFilterNodes = filtersContainerNode.querySelectorAll('.ibexa-list-filters__item--date-time .ibexa-picker');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
const token = doc.querySelector('meta[name="CSRF-Token"]').content;
const siteaccess = doc.querySelector('meta[name="SiteAccess"]').content;
const filters = doc.querySelector('.ibexa-filters');
const clearBtn = filters.querySelector('.ibexa-btn--clear');
const applyBtn = filters.querySelector('.ibexa-btn--apply');
const clearBtn = filters.querySelector('.ids-btn--clear');
const applyBtn = filters.querySelector('.ids-btn--apply');
const contentTypeSelect = doc.querySelector('.ibexa-filters__item--content-type .ibexa-filters__select');
const sectionSelect = doc.querySelector('.ibexa-filters__item--section .ibexa-filters__select');
const lastModifiedSelectNode = doc.querySelector('.ibexa-filters__item--modified .ibexa-filters__select');
Expand Down Expand Up @@ -108,6 +108,7 @@
const methodName = isEnabled ? 'removeAttribute' : 'setAttribute';

applyBtn[methodName]('disabled', !isEnabled);
// ids-btn--disabled class no longer needed - native [disabled] attribute handles styling
};
const toggleDatesSelectVisibility = (event, select, dateRange) => {
const datesRangeNode = doc.querySelector(event.target.dataset.targetSelector);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(function (global, doc, ibexa, React, ReactDOMClient) {
const btns = doc.querySelectorAll('.ibexa-btn--open-udw');
const btns = doc.querySelectorAll('.ids-btn--open-udw');
const udwContainer = doc.getElementById('react-udw');
let udwRoot = null;
const closeUDW = () => udwRoot.unmount();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(function (global, doc, ibexa, React, ReactDOMClient) {
const btns = doc.querySelectorAll('.ibexa-btn--open-udw');
const btns = doc.querySelectorAll('.ids-btn--open-udw, .ids-btn--open-udw');
const udwContainer = doc.getElementById('react-udw');
let udwRoot = null;
const closeUDW = () => udwRoot.unmount();
Expand Down
2 changes: 1 addition & 1 deletion src/bundle/Resources/public/js/scripts/admin.trash.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
const { numberOfSubitems } = event.detail;
const sendToTrashModal = document.querySelector('.ibexa-modal--trash-location');
const modalBody = sendToTrashModal.querySelector('.modal-body');
const modalSendToTrashButton = sendToTrashModal.querySelector('.modal-footer .ibexa-btn--confirm-send-to-trash');
const modalSendToTrashButton = sendToTrashModal.querySelector('.modal-footer .ids-btn--confirm-send-to-trash');
const { contentName } = sendToTrashModal.dataset;

if (numberOfSubitems) {
Expand Down
4 changes: 2 additions & 2 deletions src/bundle/Resources/public/js/scripts/admin.trash.list.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
const sortDirection = doc.querySelector('#trash_search_sort_direction');
const creatorInput = doc.querySelector('.ibexa-trash-search-form__item--creator .ibexa-trash-search-form__input');
const usersList = doc.querySelector('.ibexa-trash-search-form__item--creator .ibexa-trash-search-form__user-list');
const resetCreatorBtn = doc.querySelector('.ibexa-btn--reset-creator');
const resetCreatorBtn = doc.querySelector('.ids-btn--reset-creator');
const searchCreatorInput = doc.querySelector('#trash_search_creator');
const sortableColumns = doc.querySelectorAll('.ibexa-table__sort-column');
const btns = doc.querySelectorAll('.ibexa-btn--open-udw');
const btns = doc.querySelectorAll('.ids-btn--open-udw, .ids-btn--open-udw');
const udwContainer = doc.getElementById('react-udw');
const autoSendNodes = doc.querySelectorAll('.ibexa-trash-search-form__item--auto-send');
const errorMessage = Translator.trans(/* @Desc("Cannot fetch user list") */ 'trash.user_list.error', {}, 'ibexa_trash_ui');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,5 @@
.catch(showErrorNotification);
};

doc.querySelectorAll('.ibexa-btn--content-draft-edit').forEach((button) => button.addEventListener('click', editVersion, false));
doc.querySelectorAll('.ids-btn--content-draft-edit').forEach((button) => button.addEventListener('click', editVersion, false));
})(window, window.document, window.bootstrap, window.ibexa, window.Translator, window.Routing);
6 changes: 3 additions & 3 deletions src/bundle/Resources/public/js/scripts/button.content.edit.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,14 @@
wrapper.innerHTML = modalHtml;

const conflictModal = doc.querySelector('#version-draft-conflict-modal');
const addDraftButton = wrapper.querySelector('.ibexa-btn--add-draft');
const addDraftButton = wrapper.querySelector('.ids-btn--add-draft');

if (addDraftButton) {
addDraftButton.addEventListener('click', addDraft, false);
}

wrapper
.querySelectorAll('.ibexa-btn--prevented')
.querySelectorAll('.ids-btn--prevented')
.forEach((btn) => btn.addEventListener('click', (wrapperBtnEvent) => wrapperBtnEvent.preventDefault(), false));

bootstrap.Modal.getOrCreateInstance(conflictModal).show();
Expand Down Expand Up @@ -80,5 +80,5 @@
.catch(showErrorNotification);
};

doc.querySelectorAll('.ibexa-btn--content-edit').forEach((button) => button.addEventListener('click', editVersion, false));
doc.querySelectorAll('.ids-btn--content-edit').forEach((button) => button.addEventListener('click', editVersion, false));
})(window, window.document, window.bootstrap, window.ibexa, window.Translator, window.Routing);
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
(function (global, doc) {
doc.querySelectorAll('.ibexa-btn--prevented').forEach((btn) => btn.addEventListener('click', (event) => event.preventDefault(), false));
doc.querySelectorAll('.ids-btn--prevented').forEach((btn) => btn.addEventListener('click', (event) => event.preventDefault(), false));
})(window, window.document);
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
class EditTranslation {
constructor(config) {
this.container = config.container;
this.toggler = config.container.querySelector('.ibexa-btn--translations-list-toggler');
this.toggler = config.container.querySelector('.ids-btn--translations-list-toggler');
this.extraActionsContainer = config.container.querySelector('.ibexa-extra-actions');
this.closeBtn = config.container.querySelector('.ibexa-extra-actions__close-btn');
this.confirmBtn = config.container.querySelector('.ibexa-extra-actions__confirm-btn');
this.languagesBtns = config.container.querySelectorAll('.ibexa-btn--select-language');
this.languagesBtns = config.container.querySelectorAll('.ids-btn--select-language');
this.backdrop = config.backdrop;

this.tableNode = null;
Expand Down Expand Up @@ -64,16 +64,16 @@
this.confirmBtn.dataset.languageCode = languageCode;
this.confirmBtn.disabled = false;

this.languagesBtns.forEach((btn) => btn.classList.remove('ibexa-btn--active'));
event.currentTarget.classList.add('ibexa-btn--active');
this.languagesBtns.forEach((btn) => btn.classList.remove('ids-btn--active'));
event.currentTarget.classList.add('ids-btn--active');
}

resetLanguageSelector() {
this.confirmBtn.dataset.contentId = null;
this.confirmBtn.dataset.languageCode = null;
this.confirmBtn.disabled = true;

this.languagesBtns.forEach((btn) => btn.classList.remove('ibexa-btn--active'));
this.languagesBtns.forEach((btn) => btn.classList.remove('ids-btn--active'));
}

init() {
Expand Down
2 changes: 1 addition & 1 deletion src/bundle/Resources/public/js/scripts/button.trigger.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
doc.addEventListener(
'DOMContentLoaded',
() => {
const buttons = doc.querySelectorAll('.ibexa-btn--trigger');
const buttons = doc.querySelectorAll('.ids-btn--trigger');
const trigger = (event) => {
event.preventDefault();

Expand Down
2 changes: 1 addition & 1 deletion src/bundle/Resources/public/js/scripts/cotf/create.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(function (global, doc, ibexa, React, ReactDOMClient, Translator, Routing) {
const btns = doc.querySelectorAll('.ibexa-btn--cotf-create');
const btns = doc.querySelectorAll('.ids-btn--cotf-create');
const udwContainer = doc.getElementById('react-udw');
let udwRoot = null;
const closeUDW = () => udwRoot.unmount();
Expand Down
Loading
Loading