diff --git a/.gitignore b/.gitignore index eb5f6ea715..40f057c70a 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ yarn-error.log /vendor /.php_cs.cache package-lock.json +.DS_Store diff --git a/src/bundle/Resources/public/css/ezplatform.min.css b/src/bundle/Resources/public/css/ezplatform.min.css index 9ae5a6c507..e9ca44b19f 100644 --- a/src/bundle/Resources/public/css/ezplatform.min.css +++ b/src/bundle/Resources/public/css/ezplatform.min.css @@ -1 +1 @@ -html{height:100%;width:100%}body{height:100%}.ez-main-row{min-height:calc(100vh - 60px)}.ez-dashboard .ez-main-row{background-color:#bbb}.ez-side-menu .ez-icon,.ez-context-menu .ez-icon{display:block;margin:0 auto;fill:#fff}.ezimage-field img{display:inline-block;max-width:100%;width:auto;height:auto}button.btn{white-space:normal}.ez-field-edit{margin:1rem 0}.ezrichtext-field{display:inline-block;width:100%}.ezrichtext-field .align-left{float:left}.ezrichtext-field .align-center{text-align:center}.ezrichtext-field .align-right{float:right}.ez-login-view .ez-main-container{height:100%}.nav-tabs{border-bottom:2px solid #fafafa;background-color:#e5e3e3}.nav-tabs .nav-item{margin-bottom:0}.nav-tabs .nav-link{color:#878787}.nav-tabs .nav-link:hover{background-color:#bbb;border-color:#bbb}.nav-tabs .nav-link.active{background-color:#fafafa;border-color:#fafafa}.ez-dashboard .nav-tabs{border-bottom:2px solid #445A64;background-color:#fff;margin-bottom:1rem}.ez-dashboard .nav-tabs .nav-link.active{background-color:#445A64;border-color:#445A64;color:#fff}.ez-content-view .nav-tabs{border-bottom:2px solid #e5e3e3}.ez-content-view .nav-tabs .nav-item{margin-bottom:-2px}.ez-table-header{display:flex;justify-content:space-between;background-color:#a8c8d5;align-items:center;padding:.5rem 1rem}.ez-table-header h5{margin-bottom:0;font-weight:bold}.ez-table-header .ez-icon{width:1rem;height:1rem;fill:#fff;margin-right:.5rem}.ez-table-header.ground-base{background-color:#e5e3e3}.ez-dashboard .table thead{background-color:#62828F;color:#fff}.ez-dashboard .table thead th{border-bottom:none}.ez-content-view .table{margin-bottom:3rem}.ez-header{background-color:#e5e3e3}.ez-header .breadcrumb{margin-bottom:0;padding-left:0}.ez-icon{width:2rem;height:2rem}.btn-icon .ez-icon{width:1.5rem;height:1.5rem;fill:#f15a10}.ez-field-edit--ezauthor .btn-icon .ez-icon{fill:#fff;width:1rem;height:1rem}.ez-main-nav .ez-icon{width:1.5rem;height:1.5rem}.ez-icon-search-button{fill:#fff;height:1rem;width:1rem}.ez-btn--extra-actions .ez-icon{pointer-events:none}.ez-btn-ae:hover .ez-icon{fill:#65B6F0}.ez-btn-ae .ez-icon{width:1.5rem;height:1.5rem;fill:#fff}.ez-field-edit--ezrichtext [data-ezelement="ezembed"] .ez-embed-content .ez-icon{width:1.5rem;height:1.5rem;vertical-align:middle}.ez-icon--logo{width:10rem;height:7rem;display:block;margin:0 auto}.ez-page-title{padding-bottom:1rem}.ez-page-title h2{margin-bottom:0}.ez-page-title h5{padding-left:2.5rem;color:#bbb}.ez-extra-actions{border-radius:8px;border:6px solid #0f6d95;width:300px}.ez-extra-actions__action{display:block;background:none;border:0 none;width:100%;text-align:left;border-radius:4px;padding:0 16px;line-height:45px;background:#fff;color:#0f6d95;text-decoration:none;cursor:pointer;transition:all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1)}.ez-extra-actions__action:hover,.ez-extra-actions__action:focus{background:#0f6d95;color:#fff;text-decoration:none}.ez-extra-actions__action+.ez-extra-actions__action{margin-top:8px}.ez-extra-actions__header{line-height:45px;color:#fff;padding:0 8px}.ez-extra-actions__content{background:#e5e3e3;max-height:300px;overflow:auto}.ez-extra-actions--edit .ez-extra-actions__content{padding:8px}.ez-extra-actions--edit .ez-extra-actions__form-values{max-height:150px;overflow:auto}.ez-extra-actions--edit .radio{display:block;background:none;border:0 none;width:100%;text-align:left;border-radius:4px;padding:0 16px;line-height:45px;background:#fff;color:#0f6d95;text-decoration:none;cursor:pointer;transition:all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1)}.ez-extra-actions--edit .radio:hover,.ez-extra-actions--edit .radio:focus{background:#0f6d95;color:#fff;text-decoration:none}.ez-extra-actions--edit .radio:not(:last-child){margin-bottom:.5rem}.ez-extra-actions--edit .radio label{display:flex;align-items:center;margin:0;cursor:pointer}.ez-extra-actions--edit .radio label [type="radio"]{display:none}.ez-extra-actions__section-header{background:#bbb;color:#333;padding-left:.5rem}.ez-extra-actions__section-content{background:#fff;color:#333;padding:1rem .5rem}.ez-extra-actions__section-content select{display:inline-block;width:100%}.ez-extra-actions--create .ez-extra-actions__content{max-height:initial}.ez-extra-actions--create .ez-extra-actions__section-content--content-type{padding:0}.ez-extra-actions--create .radio{cursor:pointer;background:#fff;transition:all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);padding-left:1.5rem}.ez-extra-actions--create .radio:hover,.ez-extra-actions--create .radio:focus{background:#0f6d95}.ez-extra-actions--create .radio label{margin:0;display:block}.ez-extra-actions--create .radio label [type="radio"]{display:none}.ez-extra-actions--create button[type="submit"]{display:none}.ez-extra-actions::after{content:'';position:absolute;height:40px;width:10px;top:30px;right:-6px;transform:translate(100%, -50%);z-index:0;background:#0f6d95}.ez-extra-actions-container .ez-extra-actions{position:absolute;left:0;z-index:2;opacity:1;transform:translate(calc(-100% - 10px), 0) scaleX(1);transform-origin:right center;transition:all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1)}.ez-extra-actions-container .ez-extra-actions--hidden{opacity:0;transform:translate(calc(-100% - 15px), 0) scaleX(0)}.ae-ui .ae-toolbar-add{opacity:0}.ae-ui .ae-toolbar .ae-button.ez-btn-ae{width:auto;height:auto;margin:.3rem .8rem}.ae-ui .ae-toolbar .ae-button.ez-btn-ae .ez-btn-ae__label{font-size:.85rem;margin-bottom:0;margin-top:.2rem}.ae-ui .ae-container .ez-ae-edit-link .ez-btn-ae{color:#fff}.ae-ui .ae-container .ez-ae-edit-link .ez-btn-ae.ez-btn-ae--clear-link{position:absolute;bottom:0;right:0;color:#333;height:2.25rem;display:none}.ae-ui .ae-container .ez-ae-edit-link .ez-btn-ae.ez-btn-ae--remove-link{margin-right:1rem;background-color:#bbb}.ae-ui .ae-container .ez-ae-edit-link .ez-btn-ae.ez-btn-ae--udw{background-color:#bbb}.ae-ui .ae-container .ez-ae-edit-link.is-linked .ez-btn-ae.ez-btn-ae--clear-link{display:block}.btn-icon{padding:0}.ez-field-edit--ezauthor .btn-icon{border-radius:50%;height:2rem;width:2rem}.ez-btn--login{float:right;border-color:#fff;background-color:transparent;margin-top:1rem}.ez-btn--login:hover{background-color:#fff;border-color:#f15a10;color:#f15a10}.ez-fieldgroup .ez-fieldgroup-name{color:#0f6d95;border-bottom:2px solid #0f6d95;padding-bottom:.5rem}.ez-fieldgroup .ez-content-field{padding-left:2rem;margin-bottom:1.5rem}.ez-fieldgroup .ez-content-field .ez-content-field-name{background-color:#e5e3e3;margin-bottom:0;padding:.5rem 1.5rem;border-top-right-radius:5px;border-top-left-radius:5px}.ez-fieldgroup .ez-content-field .ez-content-field-value{background-color:#fff;padding:1rem 1.5rem;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.ez-main-nav{padding:0;background-color:#f3f3f3}.ez-main-nav .nav-tabs{background-color:#f3f3f3;border:none;margin-bottom:0}.ez-main-nav .nav-tabs .nav-link{padding:1rem 2rem;color:#333;display:flex}.ez-main-nav .nav-tabs .nav-link .ez-icon{margin-right:.5rem}.ez-main-nav .nav-tabs .nav-link:hover{background-color:#f3f3f3;border-color:#f3f3f3}.ez-main-nav .nav-tabs .nav-link.active{background-color:#fff;border-color:#fff;color:#333}.ez-main-sub-nav{background-color:#fff;padding:0;padding-left:100px}.ez-main-sub-nav .navbar-nav .nav-link{padding:.8rem 1rem;color:#333}.ez-main-sub-nav .navbar-nav .nav-link.active{border-bottom:2px solid #f15a10;font-weight:bold}.ez-notifications-container{position:fixed;bottom:0;width:100%;line-height:2.1}.ez-notifications-container .alert{margin-bottom:0}.ez-instant-filter__input{display:block;width:100%}.ez-extra-actions--create .ez-instant-filter__group-name{padding-left:.5rem}.ez-extra-actions--create .ez-instant-filter__input-wrapper{padding:1rem .5rem}.ez-extra-actions--create .ez-instant-filter__group-item label{cursor:pointer}.ez-extra-actions--create .ez-instant-filter__items{max-height:200px;overflow:auto}.ez-login{height:100%}.ez-login__image{background:url("/bundles/ezplatformadminui/img/login-background.jpg");background-size:cover}.ez-login__form{background:linear-gradient(to bottom, #fd8a52 0%, #ef6533 70%);display:flex;justify-content:center;align-items:center;flex-direction:column;color:#fff}.ez-login__form-label{margin-bottom:0;margin-top:1rem}.ez-login__form-input{border:none}.ez-login__form-wrapper{width:18rem;height:90%;display:flex;flex-direction:column;justify-content:center}.ez-field-edit .ez-field-edit__label.required:after,.ez-field-edit .ez-data-source__label.required:after{content:'*:'}.ez-field-edit.is-invalid .ez-field-edit__label-wrapper{color:#cb2540}.ez-field-edit.is-invalid .ez-field-edit__data{position:relative}.ez-field-edit.is-invalid .ez-field-edit__data:before{content:'!';position:absolute;top:0;left:-20px;width:20px;background:red;color:white;text-align:center;font-size:1.5rem;border-top-left-radius:5px;border-bottom-left-radius:5px}.ez-field-edit--ezauthor .ez-data-source__author{background-color:#e5e3e3;padding:1rem}.ez-field-edit--ezauthor .ez-data-source__label-wrapper .ez-data-source__label{margin-bottom:0}.ez-field-edit--ezauthor .ez-data-source__actions{display:flex;align-items:center;padding-top:1.5rem}.ez-field-edit--ezauthor .ez-data-source__actions button{margin:0 .5rem}.ez-field-edit--ezauthor.is-invalid .ez-data-source__field.is-invalid{color:#cb2540}.ez-field-edit--ezauthor.is-invalid .ez-field-edit__data:before{display:none}.ez-field-edit--ezauthor.is-invalid .ez-data-source__author{position:relative}.ez-field-edit--ezauthor.is-invalid .ez-data-source__author.is-invalid:before{content:'!';position:absolute;top:0;left:-20px;width:20px;background:red;color:white;text-align:center;font-size:1.5rem;border-top-left-radius:5px;border-bottom-left-radius:5px}.ez-field-edit--ezstring .ez-field-edit__data{width:50%}.ez-field-edit--ezemail .ez-field-edit__data{width:50%}.ez-field-edit--ezinteger .ez-field-edit__data{width:5rem}.ez-field-edit--ezfloat .ez-field-edit__data{width:5rem}.ez-field-edit--ezboolean .ez-data-source__label{position:relative;width:2rem;height:2.25rem;background-color:#bbb;margin-left:1.125rem}.ez-field-edit--ezboolean .ez-data-source__label input{display:none}.ez-field-edit--ezboolean .ez-data-source__label .ez-data-source__indicator{width:2rem;height:2rem;display:block;background-color:#fafafa;border-radius:50%;position:absolute;top:2px;left:0;transition:all .3s ease-in-out;transform:translateX(-50%)}.ez-field-edit--ezboolean .ez-data-source__label.is-checked{background-color:#0f6d95}.ez-field-edit--ezboolean .ez-data-source__label.is-checked .ez-data-source__indicator{transform:translateX(50%)}.ez-field-edit--ezboolean .ez-data-source__label.is-checked:before{background-color:#0f6d95}.ez-field-edit--ezboolean .ez-data-source__label.is-checked:after{background-color:#0f6d95}.ez-field-edit--ezboolean .ez-data-source__label:before,.ez-field-edit--ezboolean .ez-data-source__label:after{content:'';height:2.25rem;width:2.25rem;border-radius:50%;position:absolute;top:50%;background-color:#bbb;z-index:-1}.ez-field-edit--ezboolean .ez-data-source__label:before{left:0;transform:translate(-50%, -50%)}.ez-field-edit--ezboolean .ez-data-source__label:after{right:0;transform:translate(50%, -50%)}.ez-field-edit--ezurl .ez-field-edit__data{background-color:#e5e3e3;padding:1rem}.ez-field-edit--ezurl.is-invalid .ez-data-source__field--link{color:#cb2540}.ez-field-edit--ezrichtext .ez-data-source__input{opacity:0;height:1px}.ez-field-edit--ezrichtext .ez-data-source__richtext{background-color:#fff;min-height:100px;border:1px solid rgba(0,0,0,0.15);border-radius:.25rem;display:inline-block;width:100%;padding:.5rem}.ez-field-edit--ezrichtext .ez-data-source__richtext .is-block-focused,.ez-field-edit--ezrichtext .ez-data-source__richtext .cke_widget_wrapper.cke_widget_focused>.cke_widget_element{outline:2px dashed #bbb;outline-offset:1px}.ez-field-edit--ezrichtext [data-ezalign="right"]{float:right}.ez-field-edit--ezrichtext [data-ezalign="left"]{float:left}.ez-field-edit--ezrichtext [data-ezalign="center"]{text-align:center}.ez-field-edit--ezrichtext [data-ezelement="ezembed"]{background:#e5e3e3;border:1px solid #bbb;font-size:1.1rem;display:inline-block;margin:0.5rem 0.3rem;padding:0.3rem;box-sizing:border-box;line-height:1;min-height:auto}.ez-field-edit--ezrichtext [data-ezelement="ezembed"] [data-ezelement="ezconfig"]{display:none}.ez-field-edit--ezrichtext [data-ezelement="ezembed"] .ez-embed-content{margin-bottom:0}.ez-field-edit--ezselection .ez-data-source{position:relative;color:#333;font-weight:bold;cursor:pointer}.ez-field-edit--ezselection .ez-data-source__selected{list-style:none;padding-left:0;margin-bottom:0;width:50%;border:1px solid #a8c8d5;padding:.1rem 2rem .1rem .1rem;border-radius:5px;position:relative;min-height:2.8rem}.ez-field-edit--ezselection .ez-data-source__selected:after{content:'';width:2rem;height:100%;border-top-right-radius:4px;border-bottom-right-radius:4px;background-color:#a8c8d5;position:absolute;right:0;top:0}.ez-field-edit--ezselection .ez-data-source__selected:before{content:'';width:0;height:0;border-style:solid;border-width:10px 5px 0 5px;border-color:#fff transparent transparent transparent;position:absolute;right:1rem;top:50%;transform:translate(50%, -50%);z-index:1}.ez-field-edit--ezselection .ez-data-source__selected .selected-item{background:#a8c8d5;width:auto;display:inline-block;padding:.3rem 1.5rem .3rem .3rem;margin:.2rem;border-radius:5px;position:relative}.ez-field-edit--ezselection .ez-data-source__selected .selected-item .remove-selection{width:1rem;height:1rem;display:inherit;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.ez-field-edit--ezselection .ez-data-source__selected .selected-item .remove-selection:before,.ez-field-edit--ezselection .ez-data-source__selected .selected-item .remove-selection:after{content:'';width:.1rem;height:1rem;background-color:#333;content:'';position:absolute;top:50%;left:50%}.ez-field-edit--ezselection .ez-data-source__selected .selected-item .remove-selection:before{transform:translate(50%, -50%) rotate(-45deg)}.ez-field-edit--ezselection .ez-data-source__selected .selected-item .remove-selection:after{transform:translate(50%, -50%) rotate(45deg)}.ez-field-edit--ezselection .ez-data-source__options{list-style:none;padding-left:0;margin-bottom:0;position:absolute;top:100%;transform:scaleY(1);transform-origin:top center;transition:all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);width:50%;border:1px solid #a8c8d5;background-color:#fff}.ez-field-edit--ezselection .ez-data-source__options--hidden{transform:scaleY(0)}.ez-field-edit--ezselection .ez-data-source__options .option-item{padding:.2rem .5rem}.ez-field-edit--ezselection .ez-data-source__options .option-item.option-selected{background-color:#a8c8d5}.ez-ae-edit-link{display:flex;flex-direction:column;padding:.5rem}.ez-ae-edit-link__row{display:flex;align-items:flex-end}.ez-ae-edit-link__row:not(:last-child){margin-bottom:1rem}.ez-ae-edit-link__row.ez-ae-edit-link__row--actions{justify-content:flex-end}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--url{position:relative;display:flex;flex-direction:column;width:25rem}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--title,.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target{display:flex;flex-direction:column}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--title .ez-ae-edit-link__text,.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__text{margin-bottom:0.3rem}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--title{width:24rem;margin-right:1rem}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice{height:2.25rem}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice .ez-ae-edit-link__label{margin-bottom:0}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice .ez-ae-edit-link__label span{background-color:#4b4b4b;height:2.25rem;padding:.7rem .5rem;display:block;color:#333}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice .ez-ae-edit-link__label input:checked+span{background-color:#bbb;color:#fff}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice .ez-ae-edit-link__label [type="radio"]{display:none}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice .ez-ae-edit-link__label.ez-ae-edit-link__label--same-tab span{border-top-left-radius:5px;border-bottom-left-radius:5px}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice .ez-ae-edit-link__label.ez-ae-edit-link__label--new-tab span{border-top-right-radius:5px;border-bottom-right-radius:5px}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--separator{line-height:2.25rem;padding:0 .5rem}.ez-ae-edit-link .ez-ae-edit-link__block .ez-ae-edit-link__label{margin-bottom:.3rem}.ez-ae-edit-link .ez-ae-edit-link__block .ez-ae-edit-link__input{height:2.25rem} +html{height:100%;width:100%}body{height:100%}.ez-main-row{min-height:calc(100vh - 60px)}.ez-dashboard .ez-main-row{background-color:#bbb}.ez-side-menu .ez-icon,.ez-context-menu .ez-icon{display:block;margin:0 auto;fill:#fff}.ezimage-field img{display:inline-block;max-width:100%;width:auto;height:auto}button.btn{white-space:normal}.ez-field-edit{margin:1rem 0}.ezrichtext-field{display:inline-block;width:100%}.ezrichtext-field .align-left{float:left}.ezrichtext-field .align-center{text-align:center}.ezrichtext-field .align-right{float:right}.ez-login-view .ez-main-container{height:100%}.ez-data-source__input--visually-hidden{height:1px;opacity:0}.nav-tabs{border-bottom:2px solid #fafafa;background-color:#e5e3e3}.nav-tabs .nav-item{margin-bottom:0}.nav-tabs .nav-link{color:#878787}.nav-tabs .nav-link:hover{background-color:#bbb;border-color:#bbb}.nav-tabs .nav-link.active{background-color:#fafafa;border-color:#fafafa}.ez-dashboard .nav-tabs{border-bottom:2px solid #445A64;background-color:#fff;margin-bottom:1rem}.ez-dashboard .nav-tabs .nav-link.active{background-color:#445A64;border-color:#445A64;color:#fff}.ez-content-view .nav-tabs{border-bottom:2px solid #e5e3e3}.ez-content-view .nav-tabs .nav-item{margin-bottom:-2px}.ez-table-header{display:flex;justify-content:space-between;background-color:#a8c8d5;align-items:center;padding:.5rem 1rem}.ez-table-header h5{margin-bottom:0;font-weight:bold}.ez-table-header .ez-icon{width:1rem;height:1rem;fill:#fff;margin-right:.5rem}.ez-table-header.ground-base{background-color:#e5e3e3}.ez-dashboard .table thead{background-color:#62828F;color:#fff}.ez-dashboard .table thead th{border-bottom:none}.ez-content-view .table{margin-bottom:3rem}.ez-header{background-color:#e5e3e3}.ez-header .breadcrumb{margin-bottom:0;padding-left:0}.ez-icon{width:2rem;height:2rem}.btn-icon .ez-icon{width:1.5rem;height:1.5rem;fill:#f15a10}.ez-field-edit--ezauthor .btn-icon .ez-icon{fill:#fff;width:1rem;height:1rem}.ez-main-nav .ez-icon{width:1.5rem;height:1.5rem}.ez-icon-search-button{fill:#fff;height:1rem;width:1rem}.ez-btn--extra-actions .ez-icon{pointer-events:none}.ez-btn-ae:hover .ez-icon{fill:#65B6F0}.ez-btn-ae .ez-icon{width:1.5rem;height:1.5rem;fill:#fff}.ez-field-edit--ezrichtext [data-ezelement="ezembed"] .ez-embed-content .ez-icon{width:1.5rem;height:1.5rem;vertical-align:middle}.ez-icon--logo{width:10rem;height:7rem;display:block;margin:0 auto}.ez-page-title{padding-bottom:1rem}.ez-page-title h2{margin-bottom:0}.ez-page-title h5{padding-left:2.5rem;color:#bbb}.ez-extra-actions{border-radius:8px;border:6px solid #0f6d95;width:300px}.ez-extra-actions__action{display:block;background:none;border:0 none;width:100%;text-align:left;border-radius:4px;padding:0 16px;line-height:45px;background:#fff;color:#0f6d95;text-decoration:none;cursor:pointer;transition:all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1)}.ez-extra-actions__action:hover,.ez-extra-actions__action:focus{background:#0f6d95;color:#fff;text-decoration:none}.ez-extra-actions__action+.ez-extra-actions__action{margin-top:8px}.ez-extra-actions__header{line-height:45px;color:#fff;padding:0 8px}.ez-extra-actions__content{background:#e5e3e3;max-height:300px;overflow:auto}.ez-extra-actions--edit .ez-extra-actions__content{padding:8px}.ez-extra-actions--edit .ez-extra-actions__form-values{max-height:150px;overflow:auto}.ez-extra-actions--edit .radio{display:block;background:none;border:0 none;width:100%;text-align:left;border-radius:4px;padding:0 16px;line-height:45px;background:#fff;color:#0f6d95;text-decoration:none;cursor:pointer;transition:all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1)}.ez-extra-actions--edit .radio:hover,.ez-extra-actions--edit .radio:focus{background:#0f6d95;color:#fff;text-decoration:none}.ez-extra-actions--edit .radio:not(:last-child){margin-bottom:.5rem}.ez-extra-actions--edit .radio label{display:flex;align-items:center;margin:0;cursor:pointer}.ez-extra-actions--edit .radio label [type="radio"]{display:none}.ez-extra-actions__section-header{background:#bbb;color:#333;padding-left:.5rem}.ez-extra-actions__section-content{background:#fff;color:#333;padding:1rem .5rem}.ez-extra-actions__section-content select{display:inline-block;width:100%}.ez-extra-actions--create .ez-extra-actions__content{max-height:initial}.ez-extra-actions--create .ez-extra-actions__section-content--content-type{padding:0}.ez-extra-actions--create .radio{cursor:pointer;background:#fff;transition:all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);padding-left:1.5rem}.ez-extra-actions--create .radio:hover,.ez-extra-actions--create .radio:focus{background:#0f6d95}.ez-extra-actions--create .radio label{margin:0;display:block}.ez-extra-actions--create .radio label [type="radio"]{display:none}.ez-extra-actions--create button[type="submit"]{display:none}.ez-extra-actions::after{content:'';position:absolute;height:40px;width:10px;top:30px;right:-6px;transform:translate(100%, -50%);z-index:0;background:#0f6d95}.ez-extra-actions-container .ez-extra-actions{position:absolute;left:0;z-index:2;opacity:1;transform:translate(calc(-100% - 10px), 0) scaleX(1);transform-origin:right center;transition:all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1)}.ez-extra-actions-container .ez-extra-actions--hidden{opacity:0;transform:translate(calc(-100% - 15px), 0) scaleX(0)}.ae-ui .ae-toolbar-add{opacity:0}.ae-ui .ae-toolbar .ae-button.ez-btn-ae{width:auto;height:auto;margin:.3rem .8rem}.ae-ui .ae-toolbar .ae-button.ez-btn-ae .ez-btn-ae__label{font-size:.85rem;margin-bottom:0;margin-top:.2rem}.ae-ui .ae-container .ez-ae-edit-link .ez-btn-ae{color:#fff}.ae-ui .ae-container .ez-ae-edit-link .ez-btn-ae.ez-btn-ae--clear-link{position:absolute;bottom:0;right:0;color:#333;height:2.25rem;display:none}.ae-ui .ae-container .ez-ae-edit-link .ez-btn-ae.ez-btn-ae--remove-link{margin-right:1rem;background-color:#bbb}.ae-ui .ae-container .ez-ae-edit-link .ez-btn-ae.ez-btn-ae--udw{background-color:#bbb}.ae-ui .ae-container .ez-ae-edit-link.is-linked .ez-btn-ae.ez-btn-ae--clear-link{display:block}.btn-icon{padding:0}.ez-field-edit--ezauthor .btn-icon{border-radius:50%;height:2rem;width:2rem}.ez-btn--login{float:right;border-color:#fff;background-color:transparent;margin-top:1rem}.ez-btn--login:hover{background-color:#fff;border-color:#f15a10;color:#f15a10}.ez-fieldgroup .ez-fieldgroup-name{color:#0f6d95;border-bottom:2px solid #0f6d95;padding-bottom:.5rem}.ez-fieldgroup .ez-content-field{padding-left:2rem;margin-bottom:1.5rem}.ez-fieldgroup .ez-content-field .ez-content-field-name{background-color:#e5e3e3;margin-bottom:0;padding:.5rem 1.5rem;border-top-right-radius:5px;border-top-left-radius:5px}.ez-fieldgroup .ez-content-field .ez-content-field-value{background-color:#fff;padding:1rem 1.5rem;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.ez-main-nav{padding:0;background-color:#f3f3f3}.ez-main-nav .nav-tabs{background-color:#f3f3f3;border:none;margin-bottom:0}.ez-main-nav .nav-tabs .nav-link{padding:1rem 2rem;color:#333;display:flex}.ez-main-nav .nav-tabs .nav-link .ez-icon{margin-right:.5rem}.ez-main-nav .nav-tabs .nav-link:hover{background-color:#f3f3f3;border-color:#f3f3f3}.ez-main-nav .nav-tabs .nav-link.active{background-color:#fff;border-color:#fff;color:#333}.ez-main-sub-nav{background-color:#fff;padding:0;padding-left:100px}.ez-main-sub-nav .navbar-nav .nav-link{padding:.8rem 1rem;color:#333}.ez-main-sub-nav .navbar-nav .nav-link.active{border-bottom:2px solid #f15a10;font-weight:bold}.ez-notifications-container{position:fixed;bottom:0;width:100%;line-height:2.1}.ez-notifications-container .alert{margin-bottom:0}.ez-instant-filter__input{display:block;width:100%}.ez-extra-actions--create .ez-instant-filter__group-name{padding-left:.5rem}.ez-extra-actions--create .ez-instant-filter__input-wrapper{padding:1rem .5rem}.ez-extra-actions--create .ez-instant-filter__group-item label{cursor:pointer}.ez-extra-actions--create .ez-instant-filter__items{max-height:200px;overflow:auto}.ez-login{height:100%}.ez-login__image{background:url("/bundles/ezplatformadminui/img/login-background.jpg");background-size:cover}.ez-login__form{background:linear-gradient(to bottom, #fd8a52 0%, #ef6533 70%);display:flex;justify-content:center;align-items:center;flex-direction:column;color:#fff}.ez-login__form-label{margin-bottom:0;margin-top:1rem}.ez-login__form-input{border:none}.ez-login__form-wrapper{width:18rem;height:90%;display:flex;flex-direction:column;justify-content:center}.ez-field-edit .ez-field-edit__label.required:after,.ez-field-edit .ez-data-source__label.required:after{content:'*:'}.ez-field-edit.is-invalid .ez-field-edit__label-wrapper{color:#cb2540}.ez-field-edit.is-invalid .ez-field-edit__data{position:relative}.ez-field-edit.is-invalid .ez-field-edit__data:before{content:'!';position:absolute;top:0;left:-20px;width:20px;background:red;color:white;text-align:center;font-size:1.5rem;border-top-left-radius:5px;border-bottom-left-radius:5px}.ez-field-edit--ezauthor .ez-data-source__author{background-color:#e5e3e3;padding:1rem}.ez-field-edit--ezauthor .ez-data-source__label-wrapper .ez-data-source__label{margin-bottom:0}.ez-field-edit--ezauthor .ez-data-source__actions{display:flex;align-items:center;padding-top:1.5rem}.ez-field-edit--ezauthor .ez-data-source__actions button{margin:0 .5rem}.ez-field-edit--ezauthor.is-invalid .ez-data-source__field.is-invalid{color:#cb2540}.ez-field-edit--ezauthor.is-invalid .ez-field-edit__data:before{display:none}.ez-field-edit--ezauthor.is-invalid .ez-data-source__author{position:relative}.ez-field-edit--ezauthor.is-invalid .ez-data-source__author.is-invalid:before{content:'!';position:absolute;top:0;left:-20px;width:20px;background:red;color:white;text-align:center;font-size:1.5rem;border-top-left-radius:5px;border-bottom-left-radius:5px}.ez-field-edit--ezstring .ez-field-edit__data{width:50%}.ez-field-edit--ezemail .ez-field-edit__data{width:50%}.ez-field-edit--ezinteger .ez-field-edit__data{width:5rem}.ez-field-edit--ezfloat .ez-field-edit__data{width:5rem}.ez-field-edit--ezboolean .ez-data-source__label{position:relative;width:2rem;height:2.25rem;background-color:#bbb;margin-left:1.125rem}.ez-field-edit--ezboolean .ez-data-source__label input{display:none}.ez-field-edit--ezboolean .ez-data-source__label .ez-data-source__indicator{width:2rem;height:2rem;display:block;background-color:#fafafa;border-radius:50%;position:absolute;top:2px;left:0;transition:all .3s ease-in-out;transform:translateX(-50%)}.ez-field-edit--ezboolean .ez-data-source__label.is-checked{background-color:#0f6d95}.ez-field-edit--ezboolean .ez-data-source__label.is-checked .ez-data-source__indicator{transform:translateX(50%)}.ez-field-edit--ezboolean .ez-data-source__label.is-checked:before{background-color:#0f6d95}.ez-field-edit--ezboolean .ez-data-source__label.is-checked:after{background-color:#0f6d95}.ez-field-edit--ezboolean .ez-data-source__label:before,.ez-field-edit--ezboolean .ez-data-source__label:after{content:'';height:2.25rem;width:2.25rem;border-radius:50%;position:absolute;top:50%;background-color:#bbb;z-index:-1}.ez-field-edit--ezboolean .ez-data-source__label:before{left:0;transform:translate(-50%, -50%)}.ez-field-edit--ezboolean .ez-data-source__label:after{right:0;transform:translate(50%, -50%)}.ez-field-edit--ezurl .ez-field-edit__data{background-color:#e5e3e3;padding:1rem}.ez-field-edit--ezurl.is-invalid .ez-data-source__field--link{color:#cb2540}.ez-field-edit--ezrichtext .ez-data-source__input{opacity:0;height:1px}.ez-field-edit--ezrichtext .ez-data-source__richtext{background-color:#fff;min-height:100px;border:1px solid rgba(0,0,0,0.15);border-radius:.25rem;display:inline-block;width:100%;padding:.5rem}.ez-field-edit--ezrichtext .ez-data-source__richtext .is-block-focused,.ez-field-edit--ezrichtext .ez-data-source__richtext .cke_widget_wrapper.cke_widget_focused>.cke_widget_element{outline:2px dashed #bbb;outline-offset:1px}.ez-field-edit--ezrichtext [data-ezalign="right"]{float:right}.ez-field-edit--ezrichtext [data-ezalign="left"]{float:left}.ez-field-edit--ezrichtext [data-ezalign="center"]{text-align:center}.ez-field-edit--ezrichtext [data-ezelement="ezembed"]{background:#e5e3e3;border:1px solid #bbb;font-size:1.1rem;display:inline-block;margin:0.5rem 0.3rem;padding:0.3rem;box-sizing:border-box;line-height:1;min-height:auto}.ez-field-edit--ezrichtext [data-ezelement="ezembed"] [data-ezelement="ezconfig"]{display:none}.ez-field-edit--ezrichtext [data-ezelement="ezembed"] .ez-embed-content{margin-bottom:0}.ez-field-edit--ezselection .ez-data-source{position:relative;color:#333;font-weight:bold;cursor:pointer}.ez-field-edit--ezselection .ez-data-source__selected{list-style:none;padding-left:0;margin-bottom:0;width:50%;border:1px solid #a8c8d5;padding:.1rem 2rem .1rem .1rem;border-radius:5px;position:relative;min-height:2.8rem}.ez-field-edit--ezselection .ez-data-source__selected:after{content:'';width:2rem;height:100%;border-top-right-radius:4px;border-bottom-right-radius:4px;background-color:#a8c8d5;position:absolute;right:0;top:0}.ez-field-edit--ezselection .ez-data-source__selected:before{content:'';width:0;height:0;border-style:solid;border-width:10px 5px 0 5px;border-color:#fff transparent transparent transparent;position:absolute;right:1rem;top:50%;transform:translate(50%, -50%);z-index:1}.ez-field-edit--ezselection .ez-data-source__selected .selected-item{background:#a8c8d5;width:auto;display:inline-block;padding:.3rem 1.5rem .3rem .3rem;margin:.2rem;border-radius:5px;position:relative}.ez-field-edit--ezselection .ez-data-source__selected .selected-item .remove-selection{width:1rem;height:1rem;display:inherit;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.ez-field-edit--ezselection .ez-data-source__selected .selected-item .remove-selection:before,.ez-field-edit--ezselection .ez-data-source__selected .selected-item .remove-selection:after{content:'';width:.1rem;height:1rem;background-color:#333;content:'';position:absolute;top:50%;left:50%}.ez-field-edit--ezselection .ez-data-source__selected .selected-item .remove-selection:before{transform:translate(50%, -50%) rotate(-45deg)}.ez-field-edit--ezselection .ez-data-source__selected .selected-item .remove-selection:after{transform:translate(50%, -50%) rotate(45deg)}.ez-field-edit--ezselection .ez-data-source__options{list-style:none;padding-left:0;margin-bottom:0;position:absolute;top:100%;transform:scaleY(1);transform-origin:top center;transition:all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);width:50%;border:1px solid #a8c8d5;background-color:#fff}.ez-field-edit--ezselection .ez-data-source__options--hidden{transform:scaleY(0)}.ez-field-edit--ezselection .ez-data-source__options .option-item{padding:.2rem .5rem}.ez-field-edit--ezselection .ez-data-source__options .option-item.option-selected{background-color:#a8c8d5}.ez-ae-edit-link{display:flex;flex-direction:column;padding:.5rem}.ez-ae-edit-link__row{display:flex;align-items:flex-end}.ez-ae-edit-link__row:not(:last-child){margin-bottom:1rem}.ez-ae-edit-link__row.ez-ae-edit-link__row--actions{justify-content:flex-end}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--url{position:relative;display:flex;flex-direction:column;width:25rem}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--title,.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target{display:flex;flex-direction:column}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--title .ez-ae-edit-link__text,.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__text{margin-bottom:0.3rem}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--title{width:24rem;margin-right:1rem}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice{height:2.25rem}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice .ez-ae-edit-link__label{margin-bottom:0}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice .ez-ae-edit-link__label span{background-color:#4b4b4b;height:2.25rem;padding:.7rem .5rem;display:block;color:#333}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice .ez-ae-edit-link__label input:checked+span{background-color:#bbb;color:#fff}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice .ez-ae-edit-link__label [type="radio"]{display:none}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice .ez-ae-edit-link__label.ez-ae-edit-link__label--same-tab span{border-top-left-radius:5px;border-bottom-left-radius:5px}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--target .ez-ae-edit-link__choice .ez-ae-edit-link__label.ez-ae-edit-link__label--new-tab span{border-top-right-radius:5px;border-bottom-right-radius:5px}.ez-ae-edit-link .ez-ae-edit-link__block.ez-ae-edit-link__block--separator{line-height:2.25rem;padding:0 .5rem}.ez-ae-edit-link .ez-ae-edit-link__block .ez-ae-edit-link__label{margin-bottom:.3rem}.ez-ae-edit-link .ez-ae-edit-link__block .ez-ae-edit-link__input{height:2.25rem} diff --git a/src/bundle/Resources/public/js/scripts/fieldType/eztime.js b/src/bundle/Resources/public/js/scripts/fieldType/eztime.js new file mode 100644 index 0000000000..8d33e79deb --- /dev/null +++ b/src/bundle/Resources/public/js/scripts/fieldType/eztime.js @@ -0,0 +1,88 @@ +(function (global) { + const SELECTOR_FIELD = '.ez-field-edit--eztime'; + const SELECTOR_INPUT = '.ez-data-source__input:not(.flatpickr-input)'; + const EVENT_VALUE_CHANGED = 'valueChanged'; + + class EzTimeValidator extends global.eZ.BaseFieldValidator { + /** + * Validates the input + * + * @method validateInput + * @param {Event} event + * @returns {Object} + * @memberof EzTimeValidator + */ + validateInput(event) { + const target = event.target; + const isRequired = target.required; + const isEmpty = !target.value.trim().length; + const label = event.target.closest(this.fieldSelector).querySelector('.ez-field-edit__label').innerHTML; + let isError = false; + let errorMessage = ''; + + if (isRequired && isEmpty) { + isError = true; + errorMessage = window.eZ.errors.emptyField.replace('{fieldName}', label); + } + + return { + isError, + errorMessage + }; + } + }; + + const validator = new EzTimeValidator({ + classInvalid: 'is-invalid', + fieldSelector: SELECTOR_FIELD, + eventsMap: [ + { + selector: `${SELECTOR_FIELD} ${SELECTOR_INPUT}`, + eventName: EVENT_VALUE_CHANGED, + callback: 'validateInput', + invalidStateSelectors: [SELECTOR_FIELD], + errorNodeSelectors: ['.ez-field-edit__label-wrapper'], + }, + ], + }); + + validator.init(); + + const timeFields = [...document.querySelectorAll(SELECTOR_FIELD)]; + const timeConfig = { + enableTime: true, + noCalendar: true, + time_24hr: true + }; + const updateInputValue = (sourceInput, date) => { + sourceInput.value = Math.floor((new Date(date)).getTime() / 1000); + sourceInput.dispatchEvent(new CustomEvent(EVENT_VALUE_CHANGED)); + }; + const initFlatPickr = (field) => { + const sourceInput = field.querySelector(SELECTOR_INPUT); + const enableSeconds = sourceInput.dataset.seconds === '1'; + let defaultDate; + + sourceInput.classList.add('ez-data-source__input--visually-hidden'); + + if (sourceInput.value) { + const date = new Date(sourceInput * 1000); + + if (isNaN(date.getTime())) { + sourceInput.dispatchEvent(new CustomEvent(EVENT_VALUE_CHANGED)); + sourceInput.value = ''; + } else { + defaultDate = date; + } + } + + flatpickr(field.querySelector('.flatpickr-input'), Object.assign({}, timeConfig, { + enableSeconds, + onChange: updateInputValue.bind(null, sourceInput), + dateFormat: enableSeconds ? 'H:i:S' : 'H:i', + defaultDate + })); + }; + + timeFields.forEach(initFlatPickr); +})(window); diff --git a/src/bundle/Resources/public/scss/_general.scss b/src/bundle/Resources/public/scss/_general.scss index da01e3d47f..b8c8f66ac2 100644 --- a/src/bundle/Resources/public/scss/_general.scss +++ b/src/bundle/Resources/public/scss/_general.scss @@ -65,3 +65,8 @@ button { height: 100% } } + +.ez-data-source__input--visually-hidden { + height: 1px; + opacity: 0; +} diff --git a/src/bundle/Resources/views/content/content_edit.html.twig b/src/bundle/Resources/views/content/content_edit.html.twig index 2b9f3de97f..0d50e2f0c4 100644 --- a/src/bundle/Resources/views/content/content_edit.html.twig +++ b/src/bundle/Resources/views/content/content_edit.html.twig @@ -15,6 +15,7 @@ {% block javascripts %} {% javascripts '@EzPlatformAdminUiBundle/Resources/public/js/alloyeditor/dist/*.js' + '@EzPlatformAdminUiAssetsBundle/Resources/public/vendors/flatpickr/dist/flatpickr.js' '@EzPlatformAdminUiBundle/Resources/public/js/scripts/fieldType/base/base-field.js' '@EzPlatformAdminUiBundle/Resources/public/js/scripts/fieldType/*' %} @@ -25,6 +26,7 @@ {% block stylesheets %} {% stylesheets 'bundles/ezplatformadminui/css/alloyeditor/alloyeditor-ez.css' + '@EzPlatformAdminUiAssetsBundle/Resources/public/vendors/flatpickr/dist/flatpickr.min.css' %} {% endstylesheets %} diff --git a/src/bundle/Resources/views/content/form_fields.html.twig b/src/bundle/Resources/views/content/form_fields.html.twig index ad6685f1ca..20c54b5ce7 100644 --- a/src/bundle/Resources/views/content/form_fields.html.twig +++ b/src/bundle/Resources/views/content/form_fields.html.twig @@ -6,6 +6,7 @@ {% use 'EzPlatformAdminUiBundle:fieldtypes:ezdatetime.html.twig' %} {% use 'EzPlatformAdminUiBundle:fieldtypes:ezrichtext.html.twig' %} {% use 'EzPlatformAdminUiBundle:fieldtypes:ezselection.html.twig' %} +{% use 'EzPlatformAdminUiBundle:fieldtypes:eztime.html.twig' %} {# general content editing theming #} diff --git a/src/bundle/Resources/views/fieldtypes/eztime.html.twig b/src/bundle/Resources/views/fieldtypes/eztime.html.twig new file mode 100644 index 0000000000..919e0dbce2 --- /dev/null +++ b/src/bundle/Resources/views/fieldtypes/eztime.html.twig @@ -0,0 +1,4 @@ +{% block ezplatform_fieldtype_eztime_widget %} + + {{ block('form_widget') }} +{% endblock %}