Skip to content

Commit

Permalink
Template improvements
Browse files Browse the repository at this point in the history
- Show item duration and done for normal users correctly.
- Fixed CSS class for countdown warning time.
- Improved projector manage button layout.
- Updated fontawsome icons to 4.7.
- Fixed iframe width/height to show border correctly.
- Improved 'close list of speakers' button.
- Improved 'clear all filter' icons.
- Fixed election pdf if candidate was deleted.
- Moved ban icon for internal icons.
- Improved edit projector form. Show simple scaling steps instead of
  width/height resolution.
- Consolidated both agenda item filters.
- Used better sort icon.
- Installed colordialog plugin for ckeditor to select more colors.
- Several css improvements.
  • Loading branch information
emanuelschuetze committed Apr 25, 2018
1 parent f1b87af commit ef2a22f
Show file tree
Hide file tree
Showing 27 changed files with 199 additions and 172 deletions.
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"bootstrap-ui-datetime-picker": "~2.4.0",
"ckeditor": "~4.7.2",
"docxtemplater": "~2.1.5",
"font-awesome-bower": "~4.5.0",
"font-awesome-bower": "~4.7.0",
"jquery.cookie": "~1.4.1",
"js-data": "~2.9.0",
"js-data-angular": "~3.2.1",
Expand Down
1 change: 1 addition & 0 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ gulp.task('ckeditor-plugins', function () {
[
path.join('bower_components', 'ckeditor', 'plugins', 'clipboard', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'colorbutton', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'colordialog', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'dialog', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'find', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'image', '**', '*'),
Expand Down
95 changes: 57 additions & 38 deletions openslides/agenda/static/templates/agenda/item-list.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<!-- current list of speakers -->
<a ui-sref="agenda.current-list-of-speakers" os-perms="users.can_see_name"
class="btn btn-default btn-sm">
<i class="fa fa-microphone"></i>
<i class="fa fa-microphone fa-lg"></i>
<translate>Current list of speakers</translate>
</a>
<!-- project agenda button -->
Expand Down Expand Up @@ -199,33 +199,47 @@ <h1 translate>Agenda</h1>
<span class="sort-spacer pointer" ng-click="filter.reset(isSelectMode)"
ng-if="filter.areFiltersSet()" ng-disabled="isSelectMode"
ng-class="{'disabled': isSelectMode}">
<i class="fa fa-times-circle"></i>
<i class="fa fa-window-close"></i>
<translate>Filter</translate>
</span>
<!-- boolean Filters -->
<span ng-repeat="(name, booleanFilter) in filter.booleanFilters"
ng-if="!booleanFilter.permission || operator.hasPerms(booleanFilter.permission)" uib-dropdown>
<span class="pointer" id="dropdown{{ name }}" uib-dropdown-toggle
ng-class="{'bold': booleanFilter.value !== undefined, 'disabled': isSelectMode}"
ng-disabled="isSelectMode">
{{ booleanFilter.displayName | translate }}
<span class="caret"></span>
</span>
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdown{{ name }}">
<li>
<a href ng-click="booleanFilter.value = (booleanFilter.value ? undefined : true); filter.save();">
<i class="fa" ng-class="{'fa-check': booleanFilter.value === true}"></i>
{{ booleanFilter.choiceYes | translate }}
</a>
</li>
<li>
<a href ng-click="booleanFilter.value = (booleanFilter.value === false) ? undefined : false; filter.save();">
<i class="fa" ng-class="{'fa-check': booleanFilter.value === false}"></i>
{{ booleanFilter.choiceNo | translate }}
</a>
</li>
</ul>
</span>
<!-- boolean Filters (combined!) -->
<span uib-dropdown>
<span class="sort-spacer pointer" id="dropdownItems" uib-dropdown-toggle
ng-class="{'bold': (filter.booleanFilters.closed.value !== undefined) ||
(filter.booleanFilters.is_hidden.value !== undefined),
'disabled': isSelectMode}"
ng-disabled="isSelectMode">
<translate>Items</translate>
<span class="caret"></span>
</span>
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownItems">
<li>
<a href ng-click="filter.booleanFilters.closed.value = (filter.booleanFilters.closed.value ? undefined : true); filter.save();">
<i class="fa" ng-class="{'fa-check': filter.booleanFilters.closed.value === true}"></i>
{{ filter.booleanFilters.closed.choiceYes | translate }}
</a>
</li>
<li>
<a href ng-click="filter.booleanFilters.closed.value = (filter.booleanFilters.closed.value === false) ? undefined : false; filter.save();">
<i class="fa" ng-class="{'fa-check': filter.booleanFilters.closed.value === false}"></i>
{{ filter.booleanFilters.closed.choiceNo | translate }}
</a>
</li>
<li class="divider"></li>
<li>
<a href ng-click="filter.booleanFilters.is_hidden.value = (filter.booleanFilters.is_hidden.value ? undefined : true); filter.save();">
<i class="fa" ng-class="{'fa-check': filter.booleanFilters.is_hidden.value === true}"></i>
{{ filter.booleanFilters.is_hidden.choiceYes | translate }}
</a>
</li>
<li>
<a href ng-click="filter.booleanFilters.is_hidden.value = (filter.booleanFilters.is_hidden.value === false) ? undefined : false; filter.save();">
<i class="fa" ng-class="{'fa-check': filter.booleanFilters.is_hidden.value === false}"></i>
{{ filter.booleanFilters.is_hidden.choiceNo | translate }}
</a>
</li>
</ul>
</span>
<!-- search field -->
<span class="form-group">
<span class="input-group">
Expand Down Expand Up @@ -311,10 +325,6 @@ <h1 translate>Agenda</h1>
<!-- main content column -->
<div class="col-xs-6 content"
style="padding-left: calc({{ items.length === itemsSearched.length ? item.parentCount : 0 }}*25px)">
<div class="icon-column">
<i class="fa fa-ban" ng-style="{'visibility': item.is_hidden ? 'visible' : 'hidden'}"
title="{{ 'Internal item' | translate }}"></i>
</div>
<div class="caret-spacer" ng-if="items.length === itemsSearched.length">
<i class="fa pointer"
ng-style="{visibility: hasChildren(item) ? 'visible' : 'hidden'}"
Expand Down Expand Up @@ -364,9 +374,12 @@ <h1 translate>Agenda</h1>
</span>
</div>
<div os-perms="!agenda.can_manage">
<span ng-if="item.duration">
<i class="fa fa-clock-o"></i> {{ item.duration | osMinutesToTime }}
</span>
<div os-perms="agenda.can_see_hidden_items">
<span ng-if="item.duration">
<i class="fa fa-clock-o"></i> {{ item.duration | osMinutesToTime }}
<translate translate-comment="'h' means time in hours">h</translate>
</span>
</div>
</div>
</div>
<div ng-style="{'visibility': (item.comment || item.hover) ? 'visible' : 'hidden'}">
Expand All @@ -390,20 +403,26 @@ <h1 translate>Agenda</h1>
<template-hook hook-name="agendaListAdditionalContentColumn"></template-hook>
</small>
</div>
<div style="width: 40%;" class="pull-right">
<div style="width: 40%; overflow: hidden;" class="pull-right">
<div os-perms="agenda.can_manage">
<div class="pointer nobr" ng-click="item.type = (item.type == 1) ? 2 : 1; save(item);" ng-show="item.hover || item.is_hidden">
<i class="fa" ng-class="item.is_hidden ? 'fa-check-square-o' : 'fa-square-o'"></i>
<span class="spacer-left" translate>Internal item</span>
<span class="spacer-left" translate>Internal</span>
</div>
<div class="pointer nobr" ng-click="item.closed = !item.closed; save(item);" ng-show="item.hover || item.closed">
<i class="fa" ng-class="item.closed ? 'fa-check-square-o' : 'fa-square-o'"></i>
<span class="spacer-left" translate>Done</span>
</div>
</div>
<div os-perms="!agenda.can_manage" ng-if="item.closed">
<i class="fa fa-check-square-o"></i>
<span class="spacer-left" translate>Done</span>
<div os-perms="!agenda.can_manage" >
<div ng-show="item.is_hidden">
<i class="fa fa-ban"></i>
<span class="spacer-left" translate>Internal</span>
</div>
<div ng-show="item.closed">
<i class="fa fa-check-square-o"></i>
<span class="spacer-left" translate>Done</span>
</div>
</div>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
<div ng-if="item" class="details" ng-controller="ListOfSpeakersManagementCtrl">
<div class="speakers-toolbar">
<div class="pull-right">
<span os-perms="agenda.can_manage">
<button ng-if="item.speaker_list_closed" ng-click="closeList(false)"
class="btn btn-sm btn-default">
<translate>Open list of speakers</translate>
</button>
<button ng-if="!item.speaker_list_closed" ng-click="closeList(true)"
class="btn btn-sm btn-default">
<translate>Close list of speakers</translate>
</button>
</span>
<span os-perms="agenda.can_manage_list_of_speakers">
<button ng-if="isAllowed('removeAll')" class="btn btn-sm btn-danger"
ng-bootbox-confirm="{{ 'Are you sure you want to remove all speakers from this list?'| translate }}"
Expand All @@ -9,18 +19,6 @@
<translate>Remove all speakers</translate>
</button>
</span>
<span os-perms="agenda.can_manage">
<button ng-if="item.speaker_list_closed" ng-click="closeList(false)"
class="btn btn-sm btn-default">
<i class="fa fa-toggle-off"></i>
<translate>Closed</translate>
</button>
<button ng-if="!item.speaker_list_closed" ng-click="closeList(true)"
class="btn btn-sm btn-default">
<i class="fa fa-toggle-on"></i>
<translate>Open</translate>
</button>
</span>
</div>
</div>

Expand Down
22 changes: 12 additions & 10 deletions openslides/assignments/static/js/assignments/pdf.js
Original file line number Diff line number Diff line change
Expand Up @@ -115,17 +115,16 @@ angular.module('OpenSlidesApp.assignments.pdf', ['OpenSlidesApp.core.pdf'])
//creates the voting string for the result table and differentiates between special values
var parseVoteValue = function(voteObject, printLabel) {
var voteVal = "";
if (voteObject) {
if (printLabel) {
voteVal += voteObject.label + ": ";
}
voteVal += voteObject.value;

if (printLabel) {
voteVal += voteObject.label + ": ";
}

voteVal += voteObject.value;

if (voteObject.percentStr) {
voteVal += " " + voteObject.percentStr;
if (voteObject.percentStr) {
voteVal += " " + voteObject.percentStr;
}
}

voteVal += "\n";
return voteVal;
};
Expand Down Expand Up @@ -373,7 +372,10 @@ angular.module('OpenSlidesApp.assignments.pdf', ['OpenSlidesApp.core.pdf'])
});
} else {
angular.forEach(candidates, function(option) {
var candidate = option.candidate.get_full_name();
var candidate;
if (option.candidate) {
candidate = option.candidate.get_full_name();
}
candidateBallotList.push(createYNBallotEntry(candidate));
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ <h1 translate>Elections</h1>
<span class="sort-spacer pointer" ng-click="filter.reset(isSelectMode)"
ng-if="filter.areFiltersSet()" ng-disabled="isSelectMode"
ng-class="{'disabled': isSelectMode}">
<i class="fa fa-times-circle"></i>
<i class="fa fa-window-close"></i>
<translate>Filter</translate>
</span>
<!-- Tag filter -->
Expand Down Expand Up @@ -152,11 +152,13 @@ <h1 translate>Elections</h1>
<!-- all sortOptions -->
<li ng-repeat="option in sortOptions">
<a ng-click="sort.toggle(option.name)">
{{ option.display_name | translate }}
<span class="spacer-right pull-right"></span>
<span ng-style="{'font-weight': sort.column === option.name ? 'bold' : 'normal'}">
{{ option.display_name | translate }}
</span>
<span class="spacer-right pull-right"></span>
<i class="pull-right fa"
ng-style="{'visibility': sort.column === option.name ? 'visible' : 'hidden'}"
ng-class="sort.reverse ? 'fa-sort-desc' : 'fa-sort-asc'">
ng-class="sort.reverse ? 'fa-sort-amount-desc' : 'fa-sort-amount-asc'">
</i>
</a>
</li>
Expand Down
10 changes: 10 additions & 0 deletions openslides/core/static/css/_helper.scss
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,10 @@
display: auto;
}

.inline {
display: inline;
}

.login-logo {
width: 250px;
}
Expand Down Expand Up @@ -243,3 +247,9 @@ tr.selected td {
background-color: #fcf8e3;
border-color: #faebcc;
}
.close {
opacity: 0.3 !important;
}
.close:hover {
opacity: 0.6 !important;
}
4 changes: 2 additions & 2 deletions openslides/core/static/css/core/_countdown.scss
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
font-weight: normal;
font-size: 5vw;
}
#countdown.warning {
.warning_time {
color: #ed940d;
}
#countdown.negative {
.negative {
color: #CC0000;
}
2 changes: 1 addition & 1 deletion openslides/core/static/css/core/_goto-top.scss
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
right: 30px;
padding: 10px 30px;
background: white;
opacity: 0.6;
opacity: 0.8;
transition: opacity 250ms ease-out;
z-index: 100;

Expand Down
14 changes: 2 additions & 12 deletions openslides/core/static/css/core/_manage-projectors.scss
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,8 @@
}
}

.dropdown {
width: 65%;
padding-right: 5px;
float: left;

button {
width: 100%;
}
}

.btn-danger {
width: 35%;
.dropdown button {
width: 100%;
}

.resolution {
Expand Down
1 change: 1 addition & 0 deletions openslides/core/static/css/core/_projector-sidebar.scss
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

& > button {
width: 100%;
overflow: hidden;
}
}
}
Expand Down
8 changes: 0 additions & 8 deletions openslides/core/static/css/core/_projector.scss
Original file line number Diff line number Diff line change
Expand Up @@ -191,14 +191,6 @@ hr {
margin-top: 20px;
padding-right: 6px;
}

&.warning {
color: #ed940d;
}

&.negative {
color: #CC0000;
}
}

.message_background {
Expand Down
12 changes: 11 additions & 1 deletion openslides/core/static/css/core/_site.scss
Original file line number Diff line number Diff line change
Expand Up @@ -561,7 +561,7 @@ strong, b, th {
}

.iframewrapper {
width: 256px;
width: 258px;
position: relative;
overflow: hidden;
border: 1px solid #D5D5D5;
Expand Down Expand Up @@ -597,3 +597,13 @@ strong, b, th {
font-size: 16px;
color: #000;
}

/** Config **/
#config .panel-body {
padding-top: 0;
}
#config.details h3 {
font-size: 22px;
padding-top: 30px;
margin-top: 0;
}
1 change: 1 addition & 0 deletions openslides/core/static/css/projector.scss
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
@import "variables";
@import "helper";
@import "ui-override";
@import "core/countdown";

/* Apps */
@import "core/projector";
Expand Down
2 changes: 1 addition & 1 deletion openslides/core/static/js/core/base.js
Original file line number Diff line number Diff line change
Expand Up @@ -1070,7 +1070,7 @@ angular.module('OpenSlidesApp.core', [
* - YOffset: move the editor toolbar 40px up
*/
getOptions: function () {
var extraPluginsString = 'colorbutton,find,sourcedialog,justify,showblocks';
var extraPluginsString = 'colorbutton,colordialog,find,sourcedialog,justify,showblocks';
var registeredPluginsString = extraPlugins.join(',');
if (registeredPluginsString) {
extraPluginsString += ',' + registeredPluginsString;
Expand Down
1 change: 1 addition & 0 deletions openslides/core/static/js/core/site.js
Original file line number Diff line number Diff line change
Expand Up @@ -1626,6 +1626,7 @@ angular.module('OpenSlidesApp.core.site', [
id: projector.id,
floor: 800,
ceil: 3840,
step: 10,
translate: function (value) {
return value + 'px';
},
Expand Down
Loading

0 comments on commit ef2a22f

Please sign in to comment.