[SSE mobile] Refactoring filter options

This commit is contained in:
JuliaSvinareva 2021-05-24 13:32:35 +03:00
parent 10927e6f63
commit e3be43c3ee
6 changed files with 44 additions and 47 deletions

View file

@ -410,6 +410,7 @@
"textFilterOptions": "Filter Options", "textFilterOptions": "Filter Options",
"textClearFilter": "Clear Filter", "textClearFilter": "Clear Filter",
"textDeleteFilter": "Delete Filter", "textDeleteFilter": "Delete Filter",
"textSelectAll": "Select All",
"textEmptyItem": "{Blanks}", "textEmptyItem": "{Blanks}",
"textErrorTitle": "Warning", "textErrorTitle": "Warning",
"textErrorMsg": "You must choose at least one value" "textErrorMsg": "You must choose at least one value"

View file

@ -20,4 +20,16 @@
appearance: none; appearance: none;
} }
// For filter options
.radio-checkbox-item {
label.item-content input[type=checkbox]:checked ~ .item-inner {
background: no-repeat center;
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%2340865c'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E");
background-position: calc(100% - 15px) center;
background-size: 13px 10px;
}
.icon.icon-checkbox {
display: none;
}
}
} }

View file

@ -2,12 +2,14 @@
// Colors // Colors
@themeColorLight: #a2bdde; @themeColorLight: #a2bdde;
@navBarIconColor: #fff; @navBarIconColor: #fff;
@listButtonBorderColor: rgba(0,0,0,0.15);
.device-android { .device-android {
--f7-navbar-bg-color: @themeColor; --f7-navbar-bg-color: @themeColor;
--f7-navbar-link-color: @navBarIconColor; --f7-navbar-link-color: @navBarIconColor;
--f7-navbar-text-color: @navBarIconColor; --f7-navbar-text-color: @navBarIconColor;
--f7-list-button-border-color: @listButtonBorderColor;
// Main Toolbar // Main Toolbar
#editor-navbar.navbar .right { #editor-navbar.navbar .right {
@ -21,20 +23,17 @@
align-items: center; align-items: center;
width: auto; width: auto;
} }
}
// For filter options
.radio-checkbox-item {
.icon.icon-checkbox { .icon.icon-checkbox {
width: 20px; width: 20px;
height: 20px; height: 20px;
border-radius: 20px; border-radius: 20px;
border: 2px solid #6d6d6d; border: 2px solid var(--f7-checkbox-inactive-color);
} }
label.item-checkbox input[type='checkbox']:checked ~ label.item-checkbox input[type='checkbox']:checked ~ .icon-checkbox {
.icon-checkbox, label.item-checkbox input[type='checkbox']:checked ~ border-color: @themeColor;
* .icon-checkbox, .checkbox input[type='checkbox']:checked ~
i, label.item-checkbox input[type='checkbox']:indeterminate ~
.icon-checkbox, label.item-checkbox input[type='checkbox']:indeterminate ~ * .icon-checkbox, .checkbox input[type='checkbox']:indeterminate ~ i{
border-color: #40865c;
background-color: transparent; background-color: transparent;
} }
label.item-content i.icon.icon-checkbox:after { label.item-content i.icon.icon-checkbox:after {
@ -46,9 +45,8 @@ label.item-content i.icon.icon-checkbox:after {
top: 50%; top: 50%;
margin-left: -5px; margin-left: -5px;
margin-top: -5px; margin-top: -5px;
background-color: #40865c; background-color: @themeColor;
border-radius: 100%; border-radius: 100%;
} }
.device-android .button-raised{ }
box-shadow: none;
} }

View file

@ -474,14 +474,4 @@
} }
} }
} }
label.item-content input[type=checkbox]:checked~.item-inner,
label.item-content input[type=radio]:checked~.item-inner {
background: no-repeat center;
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%2340865c'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E");
background-position: 90% center;
background-size: 13px 10px;
}
.icon.icon-checkbox{
display:none;
}
} }

View file

@ -112,9 +112,7 @@ class MainPage extends Component {
<CollaborationView onclosed={this.handleOptionsViewClosed.bind(this, 'coauth')} /> <CollaborationView onclosed={this.handleOptionsViewClosed.bind(this, 'coauth')} />
} }
{
<FilterOptionsController /> <FilterOptionsController />
}
<Statusbar /> <Statusbar />

View file

@ -8,8 +8,6 @@ const FilterOptions = (props) => {
const _t = t('View.Edit', {returnObjects: true}); const _t = t('View.Edit', {returnObjects: true});
useEffect(() => { useEffect(() => {
const $clearFilter = $$("#button-clear-filter");
props.isValid ? $clearFilter.addClass('disabled') : $clearFilter.removeClass('disabled');
const is_all_checked = props.listVal.every(item => item.check); const is_all_checked = props.listVal.every(item => item.check);
setAll(is_all_checked); setAll(is_all_checked);
}); });
@ -47,13 +45,13 @@ const FilterOptions = (props) => {
</ListItem> </ListItem>
</List> </List>
<List > <List >
<ListButton color="black" className="item-link button-raised" id='button-clear-filter' onClick={HandleClearFilter}>{_t.textClearFilter}</ListButton> <ListButton color="black" className={props.isValid ? 'disabled' : ''} onClick={HandleClearFilter}>{_t.textClearFilter}</ListButton>
<ListButton color="red" onClick={() => props.onDeleteFilter()} id="btn-delete-filter">{_t.textDeleteFilter}</ListButton> <ListButton color="red" onClick={() => props.onDeleteFilter()} id="btn-delete-filter">{_t.textDeleteFilter}</ListButton>
</List> </List>
<List> <List>
<ListItem onChange={e => props.onUpdateCell('all', e.target.checked)} name='filter-cellAll' checkbox checked={all}>Select All</ListItem> <ListItem className='radio-checkbox-item' onChange={e => props.onUpdateCell('all', e.target.checked)} name='filter-cellAll' checkbox checked={all}>{_t.textSelectAll}</ListItem>
{props.listVal.map((value) => {props.listVal.map((value) =>
<ListItem onChange={e => props.onUpdateCell(value.id, e.target.checked)} key={value.value} name='filter-cell' value={value.value} title={value.cellvalue} checkbox checked={value.check} /> <ListItem className='radio-checkbox-item' onChange={e => props.onUpdateCell(value.id, e.target.checked)} key={value.value} name='filter-cell' value={value.value} title={value.cellvalue} checkbox checked={value.check} />
)} )}
</List> </List>
</Page> </Page>