OpenSlides/openslides/motions/static/templates/motions/slide_motion.html

172 lines
7.8 KiB
HTML

<div ng-controller="SlideMotionCtrl" class="content">
<div id="sidebox" ng-if="!config('motions_disable_sidebox_on_projector')">
<!-- State -->
<h3 translate>State</h3>
{{ motion.getStateName() }}
<!-- Recommendation -->
<div ng-if="motion.getRecommendationName() != '' && !config('motions_disable_recommendation_on_projector')">
<h3>{{ config('motions_recommendations_by') }}</h3>
{{ motion.getRecommendationName() }}
</div>
<!-- Submitters -->
<h3 ng-if="motion.submitters.length > 0" translate>Submitters</h3>
<div ng-repeat="submitter in motion.submitters | orderBy: 'weight'">
{{ submitter.user.get_full_name() }}<span ng-hide="$last">,</span>
</div>
<!-- Poll results -->
<h3 ng-if="motion.polls.length > 0 && motion.polls[0].has_votes" translate>Voting result</h3>
<div ng-repeat="poll in motion.polls | orderBy:'-id'" class="spacer">
<div ng-show="poll.has_votes" class="pollresults">
<strong ng-if="motion.polls.length > 1">
<translate>Vote</translate> {{ motion.polls.length - $index }}:
</strong>
<table class="transparentTable spacer">
<!-- yes -->
<tr>
<td class="icon">
<i class="fa fa-thumbs-up fa-lg"></i>
<td ng-init="voteYes = poll.getVote(poll.yes, 'yes')">
<span class="result_label"><translate>Yes</translate>:</span>
<span class="result_value">
{{ voteYes.value | textOrNumber:getPollVotesPrecision(poll) }} {{ voteYes.percentStr }}
</span>
<div ng-if="voteYes.percentNumber">
<uib-progressbar value="voteYes.percentNumber" type="success"></uib-progressbar>
</div>
<!-- no -->
<tr>
<td class="icon">
<i class="fa fa-thumbs-down fa-lg"></i>
<td ng-init="voteNo = poll.getVote(poll.no, 'no')">
<span class="result_label"><translate>No</translate>:</span>
<span class="result_value" >
{{ voteNo.value | textOrNumber:getPollVotesPrecision(poll) }} {{ voteNo.percentStr }}
</span>
<div ng-if="voteNo.percentNumber">
<uib-progressbar value="voteNo.percentNumber" type="danger"></uib-progressbar>
</div>
<!-- abstain -->
<tr>
<td class="icon">
<strong style="font-size: 26px">&empty;</strong>
<td ng-init="voteAbstain = poll.getVote(poll.abstain, 'abstain')">
<span class="result_label"><translate>Abstain</translate>:</span>
<span class="result_value">
{{ voteAbstain.value | textOrNumber:getPollVotesPrecision(poll) }} {{ voteAbstain.percentStr }}
</span>
<div ng-if="voteAbstain.percentNumber">
<uib-progressbar value="voteAbstain.percentNumber" type="warning"></uib-progressbar>
</div>
</table>
</div>
</div>
</div>
<div ng-style="{'width': config('motions_disable_sidebox_on_projector') ? '100%' : 'calc(100% - 230px)'}"
class="scrollcontent">
<!-- Title -->
<div id="title">
<h1>{{ motion.getTitleWithChanges(mode) }}</h1>
<h2>
<translate>Motion</translate> {{ motion.identifier }}
<span ng-if="motion.versions.length > 1" >| Version {{ motion.getVersion().version_number }}</span>
<span ng-if="motion.isParagraphBasedAmendment()"
ng-init="paragraph = motion.getAmendmentParagraphsLinesDiff()[0]">
<span ng-if="paragraph">
<span ng-if="paragraph.diffLineTo == paragraph.diffLineFrom + 1">
(<translate>Line</translate> {{ paragraph.diffLineFrom }})
</span>
<span ng-if="paragraph.diffLineTo != paragraph.diffLineFrom + 1">
(<translate>Line</translate> {{ paragraph.diffLineFrom }}-{{ paragraph.diffLineTo }})
</span>
</span>
</span>
</h2>
</div>
<div class="zoomcontent" ng-if="!motion.isParagraphBasedAmendment()">
<!-- Preamble -->
<div><p>{{ config('motions_preamble') | translate }}</p></div><br>
<!-- Text -->
<!-- Original view -->
<div ng-if="mode == 'original'">
<div id="view-original-inline-editor" ng-bind-html="motion.getTextWithLineBreaks(null, highlight) | trusted"
class="motion-text motion-text-original line-numbers-{{ config('motions_default_line_numbering') }}"
contenteditable="false"></div>
</div>
<!-- Diff View -->
<div ng-if="mode == 'diff'">
<div ng-if="title_change_recommendation" class="diff-box-{{ title_change_recommendation.id }} diff-box-title">
<div class="motion-text motion-text-diff line-numbers-{{ lineNumberMode }}">
<div class="description">
<translate>New title</translate>:
</div>
<div>{{ title_change_recommendation.text }}</div>
</div>
</div>
<!-- The actual diff view -->
<div class="motion-text-with-diffs line-numbers-{{ config('motions_default_line_numbering') }}">
<div ng-repeat="change in amendments_crs">
<div class="motion-text original-text line-numbers-{{ config('motions_default_line_numbering') }}"
ng-if="$index === 0 || amendments_crs[$index - 1].line_to < change.line_from"
ng-bind-html="motion.getTextBetweenChanges(version, amendments_crs[$index - 1], change, highlight) | trusted">
</div>
<div class="diff-box diff-box-{{ change.id }} clearfix motion-text motion-text-diff line-numbers-{{ config('motions_default_line_numbering') }}">
<div ng-bind-html="change.getDiff(motion, null, highlight) | trusted"></div>
</div>
</div>
<div class="motion-text original-text line-numbers-{{ config('motions_default_line_numbering') }}"
ng-bind-html="motion.getTextRemainderAfterLastChange(version, amendments_crs, highlight) | trusted">
</div>
</div>
</div>
<!-- Changed View -->
<div ng-if="mode == 'changed'">
<div ng-bind-html="motion.getTextByMode('changed', null, highlight) | trusted"
class="motion-text motion-text-changed line-numbers-{{ config('motions_default_line_numbering') }}"></div>
</div>
<!-- Agreed View -->
<div ng-if="mode == 'agreed'">
<div ng-bind-html="motion.getTextByMode('agreed', null, highlight) | trusted"
class="motion-text motion-text-changed line-numbers-{{ config('motions_default_line_numbering') }}"></div>
</div>
<!-- Modified agreed View -->
<div ng-if="mode == 'modified_agreed'">
<div ng-bind-html="motion.getTextByMode('modified_agreed', null, highlight) | trusted"
class="motion-text motion-text-changed line-numbers-{{ config('motions_default_line_numbering') }}"></div>
</div>
<!-- Reason -->
<div ng-if="motion.getReason() && !config('motions_disable_reason_on_projector')">
<h3 translate>Reason</h3>
<div ng-bind-html="motion.getReason() | trusted"></div>
</div>
</div>
<!-- Amendments -->
<div class="zoomcontent" ng-if="motion.isParagraphBasedAmendment()">
<div ng-repeat="paragraph in amendment_diff_paragraphs" class="motion-text motion-text-diff line-numbers-{{ lineNumberMode }}"
ng-class="{'amendment-context': showAmendmentContext}">
<div ng-bind-html="paragraph.text | trusted"></div>
</div>
<!-- Reason -->
<div ng-if="motion.getReason() && !config('motions_disable_reason_on_projector')">
<h3 translate>Reason</h3>
<div ng-bind-html="motion.getReason() | trusted"></div>
</div>
</div>
</div>
</div>