218 lines
9.4 KiB
XML
218 lines
9.4 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="100">
|
|
<form name="eventForm" ng-submit="editor.save(eventForm)">
|
|
<md-toolbar ng-class="editor.component.getClassName('bg')">
|
|
<div class="md-toolbar-tools sg-padded">
|
|
<!-- 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>
|
|
<label><var:string label:value="Title"/></label>
|
|
<input type="text"
|
|
class="md-title"
|
|
ng-model="editor.component.summary"
|
|
required="required"/>
|
|
</md-input-container>
|
|
<md-button class="md-icon-button" ng-click="editor.cancel()">
|
|
<md-icon aria-label="Close dialog">close</md-icon>
|
|
</md-button>
|
|
</div>
|
|
</md-toolbar>
|
|
<md-dialog-content>
|
|
<!-- location -->
|
|
<md-input-container>
|
|
<label><var:string label:value="Location"/></label>
|
|
<input type="text" ng-model="editor.component.location"/>
|
|
</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)"
|
|
label:placeholder="Add a category">
|
|
<span md-highlight-text="editor.categories.searchText">{{category}}</span>
|
|
</md-autocomplete>
|
|
</md-chips>
|
|
<!-- calendar -->
|
|
<md-input-container>
|
|
<label><var:string label:value="Calendar"/></label>
|
|
<md-select ng-model="editor.component.destinationCalendar">
|
|
<md-option ng-repeat="calendar in ::editor.calendars"
|
|
ng-value="calendar.id">{{calendar.name}}</md-option>
|
|
</md-select>
|
|
</md-input-container>
|
|
<!-- classification -->
|
|
<md-radio-group layout="row" layout-align="space-around center"
|
|
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 layout="row" layout-align="center center">
|
|
<div flex="20"><var:string label:value="Priority"/></div>
|
|
<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>
|
|
</div>
|
|
<!-- is all day -->
|
|
<md-checkbox
|
|
ng-model="editor.component.isAllDay"
|
|
ng-true-value="1"
|
|
ng-false-value="0"
|
|
label:aria-label="All day Event">
|
|
<var:string label:value="All day Event"/>
|
|
</md-checkbox>
|
|
<!-- start + end -->
|
|
<div layout="row">
|
|
<md-input-container>
|
|
<label><var:string label:value="Start"/></label>
|
|
<input type="text" ng-model="editor.component.startDate"/>
|
|
</md-input-container>
|
|
<md-input-container>
|
|
<label><var:string label:value="Due"/></label>
|
|
<input type="text" ng-model="editor.component.dueDate"/>
|
|
</md-input-container>
|
|
</div>
|
|
<!-- status -->
|
|
<div layout="row">
|
|
<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-input-container ng-show="editor.component.status == 'completed'">
|
|
<label><var:string label:value="status_COMPLETED"/></label>
|
|
<input type="text" ng-model="editor.component.completedDate"/>
|
|
</md-input-container>
|
|
</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>
|
|
<!-- attach urls -->
|
|
<div class="attr" ng-repeat="attach in editor.component.attachUrls">
|
|
<div layout="row" layout-align="center end">
|
|
<md-input-container>
|
|
<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="sg-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="sg-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>
|
|
<!-- comment -->
|
|
<md-input-container>
|
|
<label><var:string label:value="Description"/></label>
|
|
<textarea ng-model="editor.component.comment"><!-- comment --></textarea>
|
|
</md-input-container>
|
|
<!-- repeat -->
|
|
<div layout="row" layout-align="start end">
|
|
<div class="md-flex">
|
|
<md-input-container>
|
|
<label><var:string label:value="Repeat"/></label>
|
|
<md-select class="pseudo-input-field" ng-model="editor.component.repeat.frequency">
|
|
<var:foreach list="repeatList" item="item">
|
|
<md-option var:value="item"><var:string var:value="itemRepeatText"/></md-option>
|
|
</var:foreach>
|
|
</md-select>
|
|
</md-input-container>
|
|
</div>
|
|
<md-button type="button" class="sg-icon-button"
|
|
label:aria-label="repeat_CUSTOM"
|
|
ng-show="editor.component.repeat.frequency != 'never'"
|
|
ng-click="editor.toggleRecurrenceEditor()">
|
|
<md-icon ng-class="{'icon-more-horiz': !editor.showRecurrenceEditor,
|
|
'icon-clear': editor.showRecurrenceEditor}"><!-- toggle custom rule --></md-icon>
|
|
</md-button>
|
|
</div>
|
|
<div ng-show="editor.showRecurrenceEditor" class="sg-subcontent">
|
|
<var:component className="UIxRecurrenceEditor" />
|
|
</div>
|
|
<!-- end repeat -->
|
|
<div layout="row" layout-align="start end">
|
|
<div ng-show="editor.component.repeat.frequency != 'never'">
|
|
<md-input-container>
|
|
<label><var:string label:value="End Repeat"/></label>
|
|
<md-select class="pseudo-input-field" ng-model="editor.component.repeat.end">
|
|
<md-option value="never"><var:string label:value="Never"/></md-option>
|
|
<md-option value="count"><var:string label:value="After"/></md-option>
|
|
<md-option value="until"><var:string label:value="On Date"/></md-option>
|
|
</md-select>
|
|
</md-input-container>
|
|
</div>
|
|
<div layout="row" layout-align="start center" ng-show="editor.component.repeat.end == 'count'">
|
|
<md-input-container class="md-input-number">
|
|
<input type="number" label:aria-label="times" ng-model="editor.component.repeat.count"/>
|
|
</md-input-container>
|
|
<var:string label:value="times"/>
|
|
</div>
|
|
<md-input-container ng-show="editor.component.repeat.end == 'until'">
|
|
<input type="date" label:aria-label="Repeat until" ng-model="editor.component.repeat.until"/>
|
|
</md-input-container>
|
|
</div>
|
|
<!-- reminder -->
|
|
<md-checkbox ng-model="editor.component.$hasAlarm"
|
|
label:aria-label="Reminder">
|
|
<var:string label:value="Reminder"/>
|
|
</md-checkbox>
|
|
<div class="sg-subcontent"
|
|
ng-show="editor.component.$hasAlarm">
|
|
<var:component className="UIxReminderEditor" />
|
|
</div>
|
|
</md-dialog-content>
|
|
<!-- cancel/reset/save -->
|
|
<div class="md-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>
|
|
</div>
|
|
</form>
|
|
</md-dialog>
|
|
</container>
|