Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • issue/experience_builder-3446052
  • issue/experience_builder-3446722
  • issue/experience_builder-3446434
  • project/experience_builder
  • issue/experience_builder-3439664
  • issue/experience_builder-3444424
  • issue/experience_builder-3448001
  • issue/experience_builder-3450303
  • issue/experience_builder-3450302
  • issue/experience_builder-3450307
  • issue/experience_builder-3450311
  • issue/experience_builder-3450496
  • issue/experience_builder-3450957
  • issue/experience_builder-3451002
  • issue/experience_builder-3444417
  • issue/experience_builder-3451626
  • issue/experience_builder-3452131
  • issue/experience_builder-3452134
  • issue/experience_builder-3452151
  • issue/experience_builder-3452339
  • issue/experience_builder-3452478
  • issue/experience_builder-3452512
  • issue/experience_builder-3452623
  • issue/experience_builder-3452645
  • issue/experience_builder-3452781
  • issue/experience_builder-3452489
  • issue/experience_builder-3452895
  • issue/experience_builder-3452828
  • issue/experience_builder-3453136
  • issue/experience_builder-3453152
  • issue/experience_builder-3452584
  • issue/experience_builder-3453680
  • issue/experience_builder-3452756
  • issue/experience_builder-3454094
  • issue/experience_builder-3454257
  • issue/experience_builder-3452397
  • issue/experience_builder-3454437
  • issue/experience_builder-3454501
  • issue/experience_builder-3452582
  • issue/experience_builder-3454586
  • issue/experience_builder-3450308
  • issue/experience_builder-3454669
  • issue/experience_builder-3454677
  • issue/experience_builder-3455629
  • issue/experience_builder-3455898
  • issue/experience_builder-3456000
  • issue/experience_builder-3456084
  • issue/experience_builder-3456064
  • issue/experience_builder-3456024
  • issue/experience_builder-3455728
  • issue/experience_builder-3454519
  • issue/experience_builder-3456946
  • issue/experience_builder-3457634
  • issue/experience_builder-3456008
  • issue/experience_builder-3458580
  • issue/experience_builder-3458617
  • issue/experience_builder-3458723
  • issue/experience_builder-3458863
  • issue/experience_builder-3458503
  • issue/experience_builder-3458535
  • issue/experience_builder-3459235
  • issue/experience_builder-3459992
  • issue/experience_builder-3455942
  • issue/experience_builder-3460039
  • issue/experience_builder-3459249
  • issue/experience_builder-3460440
  • issue/experience_builder-3460760
  • issue/experience_builder-3460778
  • issue/experience_builder-3452585
  • issue/experience_builder-3460783
  • issue/experience_builder-3460952
  • issue/experience_builder-3461416
  • issue/experience_builder-3461101
  • issue/experience_builder-3461435
  • issue/experience_builder-3459333
  • issue/experience_builder-3461584
  • issue/experience_builder-3461809
  • issue/experience_builder-3460856
  • issue/experience_builder-3462143
  • issue/experience_builder-3458683
  • issue/experience_builder-3461035
  • issue/experience_builder-3462584
  • issue/experience_builder-3461422
  • issue/experience_builder-3462742
  • issue/experience_builder-3462310
  • issue/experience_builder-3462450
  • issue/experience_builder-3462441
  • issue/experience_builder-3463188
  • issue/experience_builder-3462705
  • issue/experience_builder-3461499
  • issue/experience_builder-3462413
  • issue/experience_builder-3463437
  • issue/experience_builder-3463307
  • issue/experience_builder-3463583
  • issue/experience_builder-3463829
  • issue/experience_builder-3463661
  • issue/experience_builder-3463618
  • issue/experience_builder-3462636
  • issue/experience_builder-3463957
  • issue/experience_builder-3457504
  • issue/experience_builder-3463798
  • issue/experience_builder-3461431
  • issue/experience_builder-3464411
  • issue/experience_builder-3464561
  • issue/experience_builder-3459098
  • issue/experience_builder-3464814
  • issue/experience_builder-3464830
  • issue/experience_builder-3463986
  • issue/experience_builder-3465105
  • issue/experience_builder-3465107
  • issue/experience_builder-3462247
  • issue/experience_builder-3462235
  • issue/experience_builder-3465129
  • issue/experience_builder-3465140
  • issue/experience_builder-3462709
  • issue/experience_builder-3465241
  • issue/experience_builder-3463610
  • issue/experience_builder-3462697
  • issue/experience_builder-3465981
  • issue/experience_builder-3461490
  • issue/experience_builder-3463999
  • issue/experience_builder-3466042
  • issue/experience_builder-3466063
  • issue/experience_builder-3466243
  • issue/experience_builder-3466531
  • issue/experience_builder-3466580
  • issue/experience_builder-3466571
  • issue/experience_builder-3454173
  • issue/experience_builder-3466678
  • issue/experience_builder-3466534
  • issue/experience_builder-3466791
  • issue/experience_builder-3466303
  • issue/experience_builder-3467046
  • issue/experience_builder-3467162
  • issue/experience_builder-3467176
  • issue/experience_builder-3467498
  • issue/experience_builder-3463300
  • issue/experience_builder-3456020
  • issue/experience_builder-3467712
  • issue/experience_builder-3467818
  • issue/experience_builder-3467859
  • issue/experience_builder-3458369
  • issue/experience_builder-3455975
  • issue/experience_builder-3467987
  • issue/experience_builder-3468050
  • issue/experience_builder-3468185
  • issue/experience_builder-3468469
  • issue/experience_builder-3467972
  • issue/experience_builder-3467843
  • issue/experience_builder-3468049
  • issue/experience_builder-3469057
  • issue/experience_builder-3459234
  • issue/experience_builder-3468106
  • issue/experience_builder-3468269
  • issue/experience_builder-3469253
  • issue/experience_builder-3463988
  • issue/experience_builder-3467954
  • issue/experience_builder-3469421
  • issue/experience_builder-3469449
  • issue/experience_builder-3469436
  • issue/experience_builder-3469551
  • issue/experience_builder-3464025
  • issue/experience_builder-3469423
  • issue/experience_builder-3469461
  • issue/experience_builder-3469704
  • issue/experience_builder-3469720
  • issue/experience_builder-3469686
  • issue/experience_builder-3469729
  • issue/experience_builder-3469782
  • issue/experience_builder-3469822
  • issue/experience_builder-3469865
  • issue/experience_builder-3469896
  • issue/experience_builder-3466555
  • issue/experience_builder-3469934
  • issue/experience_builder-3469856
  • issue/experience_builder-3470067
  • issue/experience_builder-3470003
  • issue/experience_builder-3469677
  • issue/experience_builder-3469442
  • issue/experience_builder-3470297
  • issue/experience_builder-3469895
  • issue/experience_builder-3467674
  • issue/experience_builder-3470482
  • issue/experience_builder-3470528
  • issue/experience_builder-3470575
  • issue/experience_builder-3470625
  • issue/experience_builder-3470552
  • issue/experience_builder-3469609
  • issue/experience_builder-3470647
  • issue/experience_builder-3469673
  • issue/experience_builder-3470612
  • issue/experience_builder-3470603
  • issue/experience_builder-3470962
  • issue/experience_builder-3470933
  • issue/experience_builder-3470424
  • issue/experience_builder-3470550
  • issue/experience_builder-3471064
  • issue/experience_builder-3470973
  • issue/experience_builder-3471102
  • issue/experience_builder-3471108
  • issue/experience_builder-3468112
  • issue/experience_builder-3471201
  • issue/experience_builder-3469684
  • issue/experience_builder-3471083
  • issue/experience_builder-3471171
  • issue/experience_builder-3471303
  • issue/experience_builder-3471341
  • issue/experience_builder-3471401
  • issue/experience_builder-3471403
  • issue/experience_builder-3471448
  • issue/experience_builder-3471154
  • issue/experience_builder-3460958
  • issue/experience_builder-3469817
  • issue/experience_builder-3471511
  • issue/experience_builder-3471302
  • issue/experience_builder-3469516
  • issue/experience_builder-3470898
  • issue/experience_builder-3471169
  • issue/experience_builder-3471928
  • issue/experience_builder-3469894
  • issue/experience_builder-3469882
  • issue/experience_builder-3472103
  • issue/experience_builder-3472121
  • issue/experience_builder-3463842
  • issue/experience_builder-3472194
  • issue/experience_builder-3472198
  • issue/experience_builder-3472179
  • issue/experience_builder-3472193
  • issue/experience_builder-3472029
  • issue/experience_builder-3472192
  • issue/experience_builder-3471085
  • issue/experience_builder-3472353
  • issue/experience_builder-3472374
  • issue/experience_builder-3470594
  • issue/experience_builder-3472243
  • issue/experience_builder-3472316
  • issue/experience_builder-3472507
  • issue/experience_builder-3472053
  • issue/experience_builder-3472563
  • issue/experience_builder-3472535
  • issue/experience_builder-3472579
  • issue/experience_builder-3472584
  • issue/experience_builder-3469855
  • issue/experience_builder-3472625
  • issue/experience_builder-3472634
  • issue/experience_builder-3471974
  • issue/experience_builder-3472488
  • issue/experience_builder-3472900
  • issue/experience_builder-3472299
  • issue/experience_builder-3471070
  • issue/experience_builder-3473155
  • issue/experience_builder-3472632
  • issue/experience_builder-3469670
  • issue/experience_builder-3472483
  • issue/experience_builder-3471026
  • issue/experience_builder-3473336
  • issue/experience_builder-3471028
  • issue/experience_builder-3472687
  • issue/experience_builder-3473409
  • issue/experience_builder-3473289
  • issue/experience_builder-3473510
  • issue/experience_builder-3473656
  • issue/experience_builder-3473702
  • issue/experience_builder-3473659
  • issue/experience_builder-3473612
  • issue/experience_builder-3469672
  • issue/experience_builder-3472500
  • issue/experience_builder-3473666
  • issue/experience_builder-3473222
  • issue/experience_builder-3473778
  • issue/experience_builder-3474226
  • issue/experience_builder-3474298
  • issue/experience_builder-3462160
  • issue/experience_builder-3475363
  • issue/experience_builder-3474732
  • issue/experience_builder-3475584
  • issue/experience_builder-3472089
  • issue/experience_builder-3470995
  • issue/experience_builder-3475822
  • issue/experience_builder-3475652
  • issue/experience_builder-3475484
  • issue/experience_builder-3476204
  • issue/experience_builder-3472199
  • issue/experience_builder-3476312
  • issue/experience_builder-3462633
  • issue/experience_builder-3467870
  • issue/experience_builder-3476891
  • issue/experience_builder-3475874
  • issue/experience_builder-3477164
  • issue/experience_builder-3477199
  • issue/experience_builder-3477372
  • issue/experience_builder-3476354
  • issue/experience_builder-3477957
  • issue/experience_builder-3478299
  • issue/experience_builder-3475871
  • issue/experience_builder-3478287
  • issue/experience_builder-3478537
  • issue/experience_builder-3475759
  • issue/experience_builder-3478720
  • issue/experience_builder-3469610
  • issue/experience_builder-3478830
  • issue/experience_builder-3471978
  • issue/experience_builder-3478866
  • issue/experience_builder-3478565
  • issue/experience_builder-3469235
  • issue/experience_builder-3478965
  • issue/experience_builder-3479895
  • issue/experience_builder-3479991
  • issue/experience_builder-3480193
  • issue/experience_builder-3480217
  • issue/experience_builder-3467844
  • issue/experience_builder-3480763
  • issue/experience_builder-3479982
  • issue/experience_builder-3480266
  • issue/experience_builder-3481183
  • issue/experience_builder-3481195
  • issue/experience_builder-3481720
  • issue/experience_builder-3480979
  • issue/experience_builder-3482529
  • issue/experience_builder-3482393
  • issue/experience_builder-3482394
  • issue/experience_builder-3483267
  • issue/experience_builder-3495655
  • issue/experience_builder-3484045
  • issue/experience_builder-3483436
  • issue/experience_builder-3484186
  • issue/experience_builder-3484140
  • issue/experience_builder-3484395
  • issue/experience_builder-3484382
  • issue/experience_builder-3484635
  • issue/experience_builder-3459229
  • issue/experience_builder-3484671
  • issue/experience_builder-3484678
  • issue/experience_builder-3485383
  • issue/experience_builder-3485424
  • issue/experience_builder-3479643
  • issue/experience_builder-3481658
  • issue/experience_builder-3482259
  • issue/experience_builder-3485543
  • issue/experience_builder-3481717
  • issue/experience_builder-3484666
  • issue/experience_builder-3485440
  • issue/experience_builder-3485917
  • issue/experience_builder-3485937
  • issue/experience_builder-3485692
  • issue/experience_builder-3486120
  • issue/experience_builder-3486168
  • issue/experience_builder-3486236
  • issue/experience_builder-3481343
  • issue/experience_builder-3485820
  • issue/experience_builder-3485146
  • issue/experience_builder-3486785
  • issue/experience_builder-3486888
  • issue/experience_builder-3487071
  • issue/experience_builder-3487284
  • issue/experience_builder-3487484
  • issue/experience_builder-3474257
  • issue/experience_builder-3487745
  • issue/experience_builder-3487773
  • issue/experience_builder-3487815
  • issue/experience_builder-3485842
  • issue/experience_builder-3487075
  • issue/experience_builder-3487077
  • issue/experience_builder-3488368
  • issue/experience_builder-3481719
  • issue/experience_builder-3479977
  • issue/experience_builder-3489107
  • issue/experience_builder-3489302
  • issue/experience_builder-3489354
  • issue/experience_builder-3489724
  • issue/experience_builder-3489743
  • issue/experience_builder-3481736
  • issue/experience_builder-3485427
  • issue/experience_builder-3489899
  • issue/experience_builder-3489994
  • issue/experience_builder-3487079
  • issue/experience_builder-3490101
  • issue/experience_builder-3490069
  • issue/experience_builder-3473275
  • issue/experience_builder-3491013
  • issue/experience_builder-3490102
  • issue/experience_builder-3491201
  • issue/experience_builder-3491265
  • issue/experience_builder-3486203
  • issue/experience_builder-3484944
  • issue/experience_builder-3491225
  • issue/experience_builder-3459088
  • issue/experience_builder-3487549
  • issue/experience_builder-3491032
  • issue/experience_builder-3492312
  • issue/experience_builder-3491047
  • issue/experience_builder-3492511
  • issue/experience_builder-3491207
  • issue/experience_builder-3491021
  • issue/experience_builder-3492716
  • issue/experience_builder-3480805
  • issue/experience_builder-3492368
  • issue/experience_builder-3492722
  • issue/experience_builder-3492734
  • issue/experience_builder-3492740
  • issue/experience_builder-3491775
  • issue/experience_builder-3492669
  • issue/experience_builder-3493029
  • issue/experience_builder-3493085
  • issue/experience_builder-3493226
  • issue/experience_builder-3493299
  • issue/experience_builder-3493388
  • issue/experience_builder-3493428
  • issue/experience_builder-3493028
  • issue/experience_builder-3491293
  • issue/experience_builder-3493889
  • issue/experience_builder-3492367
  • issue/experience_builder-3494114
  • issue/experience_builder-3494273
  • issue/experience_builder-3494331
  • issue/experience_builder-3494335
  • issue/experience_builder-3494348
  • issue/experience_builder-3494363
  • issue/experience_builder-3494388
  • issue/experience_builder-3486411
  • issue/experience_builder-3494483
  • issue/experience_builder-3494513
  • issue/experience_builder-3494645
  • issue/experience_builder-3494526
  • issue/experience_builder-3494525
  • issue/experience_builder-3491459
  • issue/experience_builder-3483301
  • issue/experience_builder-3494985
  • issue/experience_builder-3489106
  • issue/experience_builder-3495129
  • issue/experience_builder-3495752
  • issue/experience_builder-3497000
  • issue/experience_builder-3495625
  • issue/experience_builder-3493941
  • issue/experience_builder-3490087
  • issue/experience_builder-3495126
  • issue/experience_builder-3497203
  • issue/experience_builder-3497239
  • issue/experience_builder-3497256
  • issue/experience_builder-3494374
  • issue/experience_builder-3497608
  • issue/experience_builder-3497695
  • issue/experience_builder-3497747
  • issue/experience_builder-3497744
  • issue/experience_builder-3498123
  • issue/experience_builder-3497926
  • issue/experience_builder-3498219
  • issue/experience_builder-3498248
  • issue/experience_builder-3498213
  • issue/experience_builder-3498269
  • issue/experience_builder-3498085
  • issue/experience_builder-3498338
  • issue/experience_builder-3497648
  • issue/experience_builder-3473617
  • issue/experience_builder-3498634
  • issue/experience_builder-3498525
  • issue/experience_builder-3498225
  • issue/experience_builder-3498747
  • issue/experience_builder-3498825
  • issue/experience_builder-3491978
  • issue/experience_builder-3498227
  • issue/experience_builder-3497530
  • issue/experience_builder-3499430
  • issue/experience_builder-3499526
  • issue/experience_builder-3498419
  • issue/experience_builder-3499550
  • issue/experience_builder-3499540
  • issue/experience_builder-3499554
  • issue/experience_builder-3499602
  • issue/experience_builder-3499650
  • issue/experience_builder-3493841
  • issue/experience_builder-3499649
  • issue/experience_builder-3499664
  • issue/experience_builder-3499721
  • issue/experience_builder-3499703
  • issue/experience_builder-3499774
  • issue/experience_builder-3499791
  • issue/experience_builder-3499536
  • issue/experience_builder-3499960
  • issue/experience_builder-3499988
  • issue/experience_builder-3500087
  • issue/experience_builder-3500109
  • issue/experience_builder-3500111
  • issue/experience_builder-3500124
  • issue/experience_builder-3500128
  • issue/experience_builder-3500129
  • issue/experience_builder-3500136
  • issue/experience_builder-3500110
  • issue/experience_builder-3500261
  • issue/experience_builder-3500321
  • issue/experience_builder-3500054
  • issue/experience_builder-3499927
  • issue/experience_builder-3500052
  • issue/experience_builder-3500506
  • issue/experience_builder-3494859
  • issue/experience_builder-3500535
  • issue/experience_builder-3500549
  • issue/experience_builder-3500542
  • issue/experience_builder-3470321
  • issue/experience_builder-3500390
  • issue/experience_builder-3501228
  • issue/experience_builder-3500761
  • issue/experience_builder-3499947
  • issue/experience_builder-3501298
  • issue/experience_builder-3500997
  • issue/experience_builder-3500994
  • issue/experience_builder-3500046
  • issue/experience_builder-3499931
  • issue/experience_builder-3499933
  • issue/experience_builder-3501870
  • issue/experience_builder-3498889
  • issue/experience_builder-3492105
  • issue/experience_builder-3501847
  • issue/experience_builder-3501941
  • issue/experience_builder-3502188
  • issue/experience_builder-3502048
  • issue/experience_builder-3501902
  • issue/experience_builder-3502778
  • issue/experience_builder-3502819
  • issue/experience_builder-3502915
  • issue/experience_builder-3503149
  • issue/experience_builder-3503377
  • issue/experience_builder-3502820
  • issue/experience_builder-3500042
  • issue/experience_builder-3503347
  • issue/experience_builder-3500058
  • issue/experience_builder-3503478
  • issue/experience_builder-3503285
  • issue/experience_builder-3502988
  • issue/experience_builder-3503690
  • issue/experience_builder-3503713
  • issue/experience_builder-3503763
  • issue/experience_builder-3503935
  • issue/experience_builder-3503972
  • issue/experience_builder-3502982
  • issue/experience_builder-3503415
  • issue/experience_builder-3504012
  • issue/experience_builder-3503412
  • issue/experience_builder-3494684
  • issue/experience_builder-3501600
  • issue/experience_builder-3504329
  • issue/experience_builder-3500034
  • issue/experience_builder-3491215
  • issue/experience_builder-3502893
  • issue/experience_builder-3504469
  • issue/experience_builder-3504494
  • issue/experience_builder-3504517
  • issue/experience_builder-3504366
  • issue/experience_builder-3504658
  • issue/experience_builder-3504676
  • issue/experience_builder-3492061
  • issue/experience_builder-3500152
  • issue/experience_builder-3503199
  • issue/experience_builder-3503414
  • issue/experience_builder-3504987
  • issue/experience_builder-3500043
  • issue/experience_builder-3505174
  • issue/experience_builder-3504819
  • issue/experience_builder-3505590
  • issue/experience_builder-3500017
  • issue/experience_builder-3505740
  • issue/experience_builder-3505637
  • issue/experience_builder-3505799
  • issue/experience_builder-3505224
  • issue/experience_builder-3500020
  • issue/experience_builder-3505872
  • issue/experience_builder-3505951
  • issue/experience_builder-3505772
  • issue/experience_builder-3498485
  • issue/experience_builder-3505774
  • issue/experience_builder-3484673
  • issue/experience_builder-3506114
  • issue/experience_builder-3505118
  • issue/experience_builder-3505826
  • issue/experience_builder-3506244
  • issue/experience_builder-3506280
  • issue/experience_builder-3506267
  • issue/experience_builder-3506424
  • issue/experience_builder-3506453
  • issue/experience_builder-3506467
  • issue/experience_builder-3506195
  • issue/experience_builder-3500083
  • issue/experience_builder-3506553
  • issue/experience_builder-3506579
  • issue/experience_builder-3506825
  • issue/experience_builder-3506881
  • issue/experience_builder-3506854
  • issue/experience_builder-3505993
  • issue/experience_builder-3500386
  • issue/experience_builder-3507549
  • issue/experience_builder-3507704
  • issue/experience_builder-3507716
  • issue/experience_builder-3502902
  • issue/experience_builder-3507749
  • issue/experience_builder-3507769
  • issue/experience_builder-3507818
  • issue/experience_builder-3507905
  • issue/experience_builder-3507858
  • issue/experience_builder-3507874
  • issue/experience_builder-3507925
  • issue/experience_builder-3507918
  • issue/experience_builder-3507938
  • issue/experience_builder-3507934
  • issue/experience_builder-3507234
  • issue/experience_builder-3508003
  • issue/experience_builder-3507330
  • issue/experience_builder-3507926
  • issue/experience_builder-3507641
  • issue/experience_builder-3507567
  • issue/experience_builder-3508306
  • issue/experience_builder-3508326
  • issue/experience_builder-3508562
  • issue/experience_builder-3508572
  • issue/experience_builder-3508575
  • issue/experience_builder-3508716
  • issue/experience_builder-3500081
  • issue/experience_builder-3508734
  • issue/experience_builder-3500071
  • issue/experience_builder-3507929
  • issue/experience_builder-3508875
  • issue/experience_builder-3508922
  • issue/experience_builder-3507928
  • issue/experience_builder-3508944
  • issue/experience_builder-3508947
  • issue/experience_builder-3507334
  • issue/experience_builder-3509026
  • issue/experience_builder-3508974
  • issue/experience_builder-3509037
  • issue/experience_builder-3509089
  • issue/experience_builder-3509103
  • issue/experience_builder-3509143
  • issue/experience_builder-3508171
  • issue/experience_builder-3509186
  • issue/experience_builder-3509258
  • issue/experience_builder-3509270
  • issue/experience_builder-3506108
  • issue/experience_builder-3509146
  • issue/experience_builder-3508933
  • issue/experience_builder-3508975
  • issue/experience_builder-3508077
  • issue/experience_builder-3509451
  • issue/experience_builder-3508170
  • issue/experience_builder-3509479
  • issue/experience_builder-3509510
  • issue/experience_builder-3509483
  • issue/experience_builder-3509490
  • issue/experience_builder-3509592
  • issue/experience_builder-3509497
  • issue/experience_builder-3509678
  • issue/experience_builder-3509494
  • issue/experience_builder-3510440
  • issue/experience_builder-3508433
  • issue/experience_builder-3509543
  • issue/experience_builder-3509509
  • issue/experience_builder-3510892
  • issue/experience_builder-3510925
  • issue/experience_builder-3489770
  • issue/experience_builder-3508978
  • issue/experience_builder-3511093
  • issue/experience_builder-3508694
  • issue/experience_builder-3506434
  • issue/experience_builder-3511366
  • issue/experience_builder-3511402
  • issue/experience_builder-3511412
  • issue/experience_builder-3501290
  • issue/experience_builder-3511447
  • issue/experience_builder-3511416
  • issue/experience_builder-3506657
  • issue/experience_builder-3511646
  • issue/experience_builder-3511705
  • issue/experience_builder-3502371
  • issue/experience_builder-3511888
  • issue/experience_builder-3512017
  • issue/experience_builder-3499364
  • issue/experience_builder-3512090
  • issue/experience_builder-3510896
  • issue/experience_builder-3492358
  • issue/experience_builder-3487381
  • issue/experience_builder-3512255
  • issue/experience_builder-3498598
  • issue/experience_builder-3512433
  • issue/experience_builder-3488598
  • issue/experience_builder-3512357
  • issue/experience_builder-3512616
  • issue/experience_builder-3509606
  • issue/experience_builder-3507335
  • issue/experience_builder-3512760
  • issue/experience_builder-3512890
  • issue/experience_builder-3512921
689 results
Show changes
Commits on Source (3)
......@@ -449,6 +449,34 @@ function experience_builder_field_widget_complete_form_alter(array &$field_widge
}
}
if (isset($context['form']['#parents']) && array_search('xb_component_props', $context["form"]["#parents"]) !== FALSE) {
// Inform the client side of the current values in the field widget. Do not
// provide the raw values, but the *resolved* values as this component prop
// indicates it needs.
// 1. Retrieve the StaticPropSource that this widget was generated for.
// @see \Drupal\experience_builder\Form\ComponentPropsForm::buildForm()
if (!$form_state->has('xb_current_static_prop_source')) {
throw new \LogicException('Should be impossible.');
}
$source = $form_state->get('xb_current_static_prop_source');
// 2. Massage the form values (this runs widget-specific logic), which will
// result in an updated StaticPropSource.
// @todo Uncomment the commented out code snippet below. It originates from TwoTerribleTextAreasWidget and was deleted in #3467972. It WILL need to be adjusted.
/*
$updated_values = $source->minimizeValue($source->massageFormValuesTemporaryRemoveThisExclamationExclamationExclamation($field_widget_plugin_id, $edited_sdc_prop_name, $edited_sdc_prop_name, $chosen_source_prop_values, $form, $form_state));
// Store the selected source choice: update the sourceType + expression.
$props[$component_instance_uuid][$edited_sdc_prop_name]['sourceType'] = $source->getSourceType();
$props[$component_instance_uuid][$edited_sdc_prop_name]['expression'] = (string) $source->asChoice();
// Store updated field property values for the `static:field_item:…`.
if (str_starts_with($props[$component_instance_uuid][$edited_sdc_prop_name]['sourceType'], 'static:field_item:')) {
$props[$component_instance_uuid][$edited_sdc_prop_name]['value'] = $updated_values;
}
*/
// 3. Now evaluate the updated StaticPropSource using the expression it
// contains; the result will be exactly the PropShape that the SDC
// specified in its JSON schema. This is what the client can consume and
// pass to `/api/preview/…`!
$field_widget_complete_form['#attributes']['data-xb-resolved-prop-values'] = $source->evaluate($context['items']->getEntity());
RenderArrayXB::markXB($field_widget_complete_form);
if ($context['widget']->getPluginId() === 'media_library_widget') {
$config = \Drupal::service('config.factory')->getEditable('system.performance');
......@@ -493,48 +521,6 @@ function experience_builder_field_widget_single_element_media_library_widget_for
);
}
/**
* Implements hook_preprocess_media_library_item__widget().
*
* Retrieves the typed data contained by the selected Media entity (if it uses
* an `image` media source), and makes it available to the XB UI as a
* `data-media-file` attribute.
*
* @see media_library_storage_prop_shape_alter()
* @todo Revisit in https://www.drupal.org/project/experience_builder/issues/3463842
*/
function experience_builder_preprocess_media_library_item__widget(array &$variables): void {
$media_id = $variables['element']['remove_button']['#media_id'] ?? NULL;
$string_split = 'media-library-remove-button-';
$offset = strpos($variables['element']['remove_button']['#name'], $string_split) + strlen($string_split);
$associated_field_name = substr($variables['element']['remove_button']['#name'], $offset);
$variables['content']['remove_button']['#attributes']['data-media-field-name'] = $associated_field_name;
if ($media_id) {
$media = Media::load($media_id);
if (is_null($media)) {
return;
}
$field = $media->get('field_media_' . $media->bundle());
$fid = $field->getValue()[0]['target_id'];
$media_file = File::load($fid);
$value = $field->getValue()[0];
if (is_null($media_file) || is_null($value)) {
return;
}
// For now, this only supports image media.
// @see media_library_storage_prop_shape_alter()
if ($media->bundle() !== 'image') {
return;
}
$prepared = array_intersect_key([
...$value,
'src' => $media_file->getFileUri(),
], ['src' => '', 'alt' => '', 'width' => '', 'height' => '']);
$variables["content"]["remove_button"]["#attributes"]['data-media-file'] = Json::encode($prepared);
}
}
/**
* Implements hook_modules_installed().
*/
......
......@@ -90,7 +90,9 @@ final class ComponentPropsForm extends FormBase implements ContainerInjectionInt
}
assert(isset($component_plugin->metadata->schema['properties'][$sdc_prop_name]['title']));
$label = $component_plugin->metadata->schema['properties'][$sdc_prop_name]['title'];
$form_state->set('xb_current_static_prop_source', $source);
$form[$sdc_prop_name] = $source->formTemporaryRemoveThisExclamationExclamationExclamation($field_widget_plugin_id, $component_instance_uuid, $sdc_prop_name, $label, $entity, $form, $form_state);
$form_state->set('xb_current_static_prop_source', NULL);
}
// @todo Design is undefined for the DynamicPropSource UX. Related: https://www.drupal.org/project/experience_builder/issues/3459234
// @todo Design is undefined for the AdaptedPropSource UX.
......
......@@ -56,37 +56,17 @@ const InputBehaviors = (OriginalInput: React.FC) => {
);
};
// Include the input's default value in the form state on init - including
// when an element is added via AJAX.
useEffect(() => {
const isMediaPreview =
attributes['data-media-file'] && attributes['data-media-field-name'];
if (isMediaPreview) {
// @todo this is assuming the media is an image. This will eventually
// need to accommodate all media types.
// @see media_library_storage_prop_shape_alter()
// @see experience_builder_preprocess_media_library_item__widget()
const image = JSON.parse(attributes['data-media-file']);
image.width = Number(image.width);
image.height = Number(image.height);
dispatch(
updateNodeModel({
uuid: selectedComponent,
model: {
...selectedModel,
image,
},
}),
);
} else if (attributes.name && setFormState) {
// Note that checkbox is cast to bool to match the server prop
// type requirements.
setFormState((prior: object) => ({
...prior,
[attributes.name]:
attributes.type === 'checkbox' ? !!inputValue : inputValue,
}));
}
const ajaxUpdatedComponentPropValues = JSON.parse(attributes['data-xb-resolved-prop-values']);
dispatch(
updateNodeModel({
uuid: selectedComponent,
model: {
...selectedModel,
ajaxUpdatedComponentPropValues,
},
}),
);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
......