sogo/UI/Templates/SchedulerUI/UIxTaskEditorTemplate.wox

201 lines
9.7 KiB
XML

<?xml version='1.0' standalone='yes'?>
<container
xmlns="http://www.w3.org/1999/xhtml"
xmlns:var="http://www.skyrix.com/od/binding"
xmlns:const="http://www.skyrix.com/od/constant"
xmlns:label="OGo:label">
<md-dialog flex="60" flex-sm="80" flex-xs="100">
<form name="eventForm" ng-submit="editor.save(eventForm)">
<md-toolbar ng-class="editor.component.getClassName('bg')">
<div class="md-toolbar-tools">
<md-icon class="material-icons sg-icon-toolbar-bg">assignment_turned_in</md-icon>
<!-- summary -->
<md-icon ng-if="editor.component.classification == 'confidential'">visibility_off</md-icon>
<md-icon ng-if="editor.component.classification == 'private'">vpn_key</md-icon>
<md-input-container class="md-block md-flex">
<label><var:string label:value="Title"/></label>
<input type="text"
class="md-title"
md-autofocus="true"
ng-model="editor.component.summary"
required="required"/>
</md-input-container>
</div>
</md-toolbar>
<md-dialog-content class="sg-has-form-sections">
<div class="sg-form-section">
<div layout="row" layout-wrap="layout-wrap">
<!-- location -->
<md-input-container flex="50" flex-xs="100">
<label><var:string label:value="Location"/></label>
<input type="text" ng-model="editor.component.location"/>
</md-input-container>
<!-- calendar -->
<md-input-container flex="50" flex-xs="100">
<label><var:string label:value="Calendar"/></label>
<md-select ng-model="editor.component.destinationCalendar">
<md-option ng-repeat="calendar in editor.service.$findAll(null, true)"
ng-value="calendar.id">{{calendar.name}}</md-option>
</md-select>
</md-input-container>
</div>
<!-- comment -->
<md-input-container class="md-block md-flex">
<label><var:string label:value="Description"/></label>
<textarea ng-model="editor.component.comment"><!-- comment --></textarea>
</md-input-container>
<!-- categories -->
<md-chips ng-model="editor.component.categories">
<md-autocomplete
md-selected-item="editor.categories.selected"
md-search-text="editor.categories.searchText"
md-items="category in editor.component.constructor.filterCategories(editor.categories.searchText)"
md-min-length="0"
label:placeholder="Add a category">
<span md-highlight-text="editor.categories.searchText">{{category}}</span>
</md-autocomplete>
</md-chips>
<div layout="row" layout-align="space-between center" layout-wrap="layout-wrap">
<!-- classification -->
<md-radio-group layout="row"
ng-model="editor.component.classification">
<md-radio-button value="public">
<var:string label:value="label_Public"/>
</md-radio-button>
<md-radio-button value="confidential">
<var:string label:value="label_Confidential"/>
</md-radio-button>
<md-radio-button value="private">
<var:string label:value="label_Private"/>
</md-radio-button>
</md-radio-group>
<!-- priority -->
<div class="pseudo-input-container" flex="50" flex-xs="100">
<label class="pseudo-input-label"><var:string label:value="Priority"/></label>
<md-slider-container>
<md-slider class="md-flex"
md-discrete="true"
ng-model="editor.component.priority"
step="1"
min="0"
max="9"
label:aria-label="Priority"><!-- slider --></md-slider>
<span>{{editor.priorityLevel()}}</span>
</md-slider-container>
</div>
</div>
<!-- attach urls -->
<div class="attr" ng-repeat="attach in editor.component.attachUrls">
<div layout="row" layout-align="center end">
<md-input-container class="md-block md-flex">
<label>
<var:string label:value="URL"/>
</label>
<input type="text" ng-model="attach.value"
sg-focus-on="attachUrl_{{$index}}"/>
</md-input-container>
<md-button class="md-icon-button" type="button" ng-click="editor.component.deleteAttachUrl($index)">
<md-icon>remove_circle</md-icon>
</md-button>
</div>
</div>
<div class="md-layout-margin" layout="row" layout-align="start center">
<md-button class="md-icon-button" type="button" ng-click="editor.addAttachUrl($event)">
<md-icon>add_circle</md-icon>
</md-button>
<label class="button-label">
<var:string label:value="Attach"/>
</label>
</div>
</div>
<div class="sg-form-section">
<!-- start -->
<div ng-show="editor.component.start">
<div class="pseudo-input-container">
<label class="pseudo-input-label"><var:string label:value="From"/></label>
</div>
<div layout="row" layout-align="start center" layout-wrap="layout-wrap">
<md-datepicker ng-model="editor.component.start"
ng-change="editor.updateStartTime()"
label:md-placeholder="From"> <!-- date picker--></md-datepicker>
<sg-timepicker ng-model="editor.component.start"
ng-change="editor.adjustStartTime()"><!-- time picker --></sg-timepicker>
<md-button class="md-icon-button" type="button" ng-click="editor.component.$deleteStartDate()">
<md-icon>remove_circle</md-icon>
</md-button>
</div>
</div>
<div class="md-layout-margin" layout="row" layout-align="start center" ng-hide="editor.component.start">
<md-button class="md-icon-button" type="button" ng-click="editor.addStartDate()">
<md-icon>add_circle</md-icon>
</md-button>
<label class="button-label"><var:string label:value="Add From"/></label>
</div>
<!-- due -->
<div ng-show="editor.component.due">
<div class="pseudo-input-container">
<label class="pseudo-input-label"><var:string label:value="Due"/></label>
</div>
<div layout="row" layout-align="start center" layout-wrap="layout-wrap">
<md-datepicker ng-model="editor.component.due"
ng-change="editor.updateDueTime()"
label:md-placeholder="Due"><!-- date picker--></md-datepicker>
<sg-timepicker ng-model="editor.component.due"
ng-change="editor.adjustDueTime()"><!-- time picker --></sg-timepicker>
<md-button class="md-icon-button" type="button" ng-click="editor.component.$deleteDueDate()">
<md-icon>remove_circle</md-icon>
</md-button>
</div>
</div>
<div class="md-layout-margin" layout="row" layout-align="start center" ng-hide="editor.component.due">
<md-button class="md-icon-button" type="button" ng-click="editor.addDueDate()">
<md-icon>add_circle</md-icon>
</md-button>
<label class="button-label"><var:string label:value="Add Due"/></label>
</div>
<!-- status -->
<div layout="row" layout-align="start center">
<md-input-container flex="50">
<label><var:string label:value="Status"/></label>
<md-select ng-model="editor.component.status">
<var:foreach list="statusList" item="item">
<md-option var:value="item"><var:string value="itemStatusText"/></md-option>
</var:foreach>
</md-select>
</md-input-container>
<md-datepicker ng-show="editor.component.status == 'completed'"
ng-model="editor.component.completed"
label:md-placeholder="status_COMPLETED"><!-- date picker--></md-datepicker>
</div>
<div layout="row" layout-align="center center"
ng-show="editor.component.enablePercentComplete()">
<md-slider class="md-flex"
md-discrete="true"
ng-model="editor.component.percentComplete"
step="5"
min="0"
max="100"
label:aria-label="% complete"><!-- slider --></md-slider>
<div flex="30">{{editor.component.percentComplete}} <var:string label:value="% complete"/></div>
</div>
</div>
</md-dialog-content>
<!-- cancel/reset/save -->
<md-dialog-actions>
<md-button type="button" ng-click="editor.cancel()">
<var:string label:value="Cancel"/>
</md-button>
<md-button type="button" ng-click="editor.component.$reset()">
<var:string label:value="Reset"/>
</md-button>
<md-button class="md-primary md-hue-3" type="submit"
ng-disabled="editor.eventForm.$invalid">
<var:string label:value="Save"/>
</md-button>
</md-dialog-actions>
</form>
</md-dialog>
</container>