Removing colons

Conflicts:

	UI/Templates/ContactsUI/UIxContactEditorTemplate.wox
	UI/Templates/ContactsUI/UIxContactFolderLinksTemplate.wox
	UI/Templates/MailerUI/UIxMailMainFrame.wox
	UI/Templates/MainUI/SOGoRootPage.wox
	UI/Templates/PreferencesUI/UIxAccountEditor.wox
	UI/Templates/PreferencesUI/UIxPreferences.wox
	UI/Templates/SchedulerUI/UIxAppointmentEditorTemplate.wox
	UI/Templates/SchedulerUI/UIxAppointmentViewTemplate.wox
	UI/Templates/SchedulerUI/UIxCalMainView.wox
	UI/Templates/SchedulerUI/UIxCalendarFolderLinksTemplate.wox
	UI/Templates/SchedulerUI/UIxTaskEditorTemplate.wox
	UI/Templates/SchedulerUI/UIxTaskViewTemplate.wox
	UI/WebServerResources/angular-material
This commit is contained in:
Luc Charland
2015-08-03 10:12:02 -04:00
committed by Ludovic Marcotte
parent 490354427d
commit 2d33b01f31
176 changed files with 3625 additions and 2335 deletions
@@ -24,7 +24,7 @@
<li class="separator"><!-- separator --></li>
</ul>
</div>
<label id="attendeesLabel"><var:string label:value="Attendees:"
<label id="attendeesLabel"><var:string label:value="Attendees"
/><span class="content"
><a href="#" id="attendeesHref"><!-- space --></a></span></label>
<hr />
@@ -34,14 +34,14 @@
var:checked="isAllDay"
/> <var:string label:value="All day Event"
/></span></span></label>
<span class="checkBoxList"><var:string label:value="Start:" />
<span class="checkBoxList"><var:string label:value="Start" />
<span class="content"><var:component className="UIxTimeDateControl"
const:controlID="startTime"
date="aptStartDate"
const:dayStartHour="0"
const:dayEndHour="23"
/></span></span>
<span class="checkBoxList"><var:string label:value="End:" />
<span class="checkBoxList"><var:string label:value="End" />
<span class="content"><var:component className="UIxTimeDateControl"
const:controlID="endTime"
date="aptEndDate"
@@ -64,20 +64,20 @@
</var:if>
<var:if condition="eventIsReadOnly">
<var:if condition="isAllDay">
<label><var:string label:value="Start:" />
<label><var:string label:value="Start" />
<span class="content"><var:string var:value="aptStartDateText"/> (<var:string label:value="All day Event"/>)</span>
</label>
<var:if condition="startDateIsEqualToEndDate" const:negate="YES">
<label><var:string label:value="End:" />
<label><var:string label:value="End" />
<span class="content"><var:string var:value="aptEndDateText" /></span>
</label>
</var:if>
</var:if>
<var:if condition="isAllDay" const:negate="YES">
<label><var:string label:value="Start:" />
<label><var:string label:value="Start" />
<span class="content"><var:string var:value="aptStartDateTimeText" /></span>
</label>
<label><var:string label:value="End:" />
<label><var:string label:value="End" />
<span class="content"><var:string var:value="aptEndDateTimeText" /></span>
</label>
</var:if>
@@ -0,0 +1,252 @@
<?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">
<form name="eventForm" ng-submit="editor.save(eventForm)">
<md-toolbar class="md-padding" ng-class="editor.component.getClassName('bg')">
<div class="md-toolbar-tools">
<!-- 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 md-no-float="true">
<input type="text"
class="md-title"
label:placeholder="Title"
ng-model="editor.component.summary"/>
</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-chips>
<md-chip ng-repeat="category in editor.component.categories">{{category}}</md-chip>
</md-chips>-->
<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>
<!-- is transparent -->
<md-checkbox
ng-model="editor.component.isTransparent"
ng-true-value="1"
ng-false-value="0"
label:aria-label="Show Time as Free">
<var:string label:value="Show Time as Free"/>
</md-checkbox>
<!-- send appointment notifications -->
<md-checkbox
ng-model="editor.component.sendAppointmentNotifications"
ng-true-value="1"
ng-false-value="0"
label:aria-label="Send Appointment Notifications">
<var:string label:value="Send Appointment Notifications"/>
</md-checkbox>
<!-- start + end -->
<div layout="row">
<md-input-container>
<label><var:string label:value="From"/></label>
<input type="text" ng-model="editor.component.startDate"/>
</md-input-container>
<md-input-container>
<label><var:string label:value="To"/></label>
<input type="text" ng-model="editor.component.endDate"/>
</md-input-container>
</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 ng-model="editor.component.repeat.frequency" ng-disabled="editor.component.occurrenceId">
<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="{'md-rotate-45': editor.showRecurrenceEditor}">add</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 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>
<!-- attendees -->
<div layout="row" layout-align="start start">
<md-autocomplete class="md-flex"
label:md-floating-label="Invite Attendees"
md-selected-item="attendeeToAdd"
md-search-text="editor.searchText"
md-selected-item-change="editor.addAttendee(card)"
md-items="card in editor.cardFilter(editor.searchText)"
md-item-text="user.empty"
md-min-length="3"
md-delay="300"
md-no-cache="true"
sg-enter="editor.addAttendee(editor.searchText)">
<md-item-template>
<div class="md-contact-suggestion" layout="row" layout-align="space-between center">
<span class="md-contact-name"
md-highlight-text="editor.searchText"
md-highlight-flags="^i">{{card.$$fullname}}</span>
<span class="md-contact-email"
md-highlight-text="editor.searchText"
md-highlight-flags="^i">{{card.$$email}}</span>
</div>
</md-item-template>
</md-autocomplete>
<md-button type="button" class="sg-icon-button"
label:aria-label="repeat_CUSTOM"
ng-click="editor.toggleAttendeesEditor()">
<md-icon ng-class="{'md-rotate-180': editor.showAttendeesEditor}">expand_more</md-icon>
</md-button>
</div>
<!-- md-contact-chips don't support "readonly", so we build them using md-chips
in readonly mode and a template similar to the one of md-contact-chips -->
<md-chips class="md-contact-chips sg-readonly"
ng-model="editor.component.attendees"
ng-hide="editor.showAttendeesEditor"
readonly="true">
<md-chip-template>
<div class="md-contact-avatar"><img src="#" ng-src="{{$chip.image}}" alt="{{$chip.name}}"/></div>
<div class="md-contact-name">{{$chip.name}}</div>
<md-icon ng-class="'icon-' + $chip.status"><!-- partstat --></md-icon>
</md-chip-template>
</md-chips>
<div ng-show="editor.showAttendeesEditor" class="sg-subcontent attendees">
<var:component className="UIxAttendeesEditor" />
</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">
<var:string label:value="Save"/>
</md-button>
</div>
</form>
</md-dialog>
</container>
@@ -0,0 +1,129 @@
<?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="40">
<form name="eventForm" ng-submit="viewer.save(eventForm)">
<md-toolbar class="md-padding" ng-class="viewer.component.getClassName('bg')">
<div class="md-toolbar-tools">
<md-icon class="material-icons sg-icon-toolbar-bg">event</md-icon>
<h2 class="md-flex">
<!-- classification -->
<md-icon ng-if="viewer.component.classification == 'confidential'">visibility_off</md-icon>
<md-icon ng-if="viewer.component.classification == 'private'">vpn_key</md-icon>
<!-- summary -->
{{viewer.component.summary}}
<!-- priority -->
<md-icon ng-repeat="i in viewer.component.priority | range">star</md-icon>
</h2>
<md-button class="md-icon-button" ng-click="viewer.close()">
<md-icon aria-label="Close dialog">close</md-icon>
</md-button>
</div>
</md-toolbar>
<md-dialog-content>
<md-list>
<!-- categories -->
<md-list-item ng-show="viewer.component.categories.length > 0">
<md-chips class="sg-readonly" ng-model="viewer.component.categories" readonly="true">
<md-chip-template>
<span>{{$chip}}</span>
</md-chip-template>
</md-chips>
</md-list-item>
<!-- location -->
<md-list-item ng-show="viewer.component.location">
<md-icon>place</md-icon>
<p>{{viewer.component.location}}</p>
</md-list-item>
<!-- calendar -->
<md-list-item>
<md-icon>event</md-icon>
<p>{{viewer.component.calendar}}</p>
</md-list-item>
<!-- start/end dates -->
<md-list-item class="md-2-line">
<md-icon>access_time</md-icon>
<div layout="row" class="md-flex">
<div class="md-list-item-text" ng-show="viewer.component.startDate">
<p><var:string label:value="Start"/></p>
<h3>
{{viewer.component.localizedStartDate}}
<span ng-hide="viewer.component.isAllDay"> {{viewer.component.localizedStartTime}}</span>
</h3>
</div>
<div class="md-list-item-text" ng-show="viewer.component.endDate">
<p><var:string label:value="End"/></p>
<h3>
{{viewer.component.localizedEndDate}}
<span ng-hide="viewer.component.isAllDay">{{viewer.component.localizedEndTime}}</span>
</h3>
</div>
</div>
</md-list-item>
<!-- is transparent -->
<md-list-item ng-show="viewer.component.isTransparent">
<md-icon>event_available</md-icon>
<p><var:string label:value="Show Time as Free"/></p>
</md-list-item>
<!-- send appointment notifications -->
<md-list-item ng-show="viewer.component.sendAppointmentNotifications">
<md-icon>send</md-icon>
<p><var:string label:value="Send Appointment Notifications"/></p>
</md-list-item>
<!-- attach urls -->
<md-list-item ng-show="viewer.component.attachUrls.length > 0">
<md-icon>link</md-icon>
<p ng-repeat="url in viewer.component.attachUrls"><a ng-href="{{url.value}}">{{url.value}}</a></p>
</md-list-item>
<!-- comment -->
<md-list-item ng-show="viewer.component.comment">
<md-icon>mode_comment</md-icon>
<p>{{viewer.component.comment}}</p>
</md-list-item>
<!-- repeat -->
<md-list-item ng-show="viewer.component.repeat">
<md-icon>repeat</md-icon>
<p><!-- viewer.component.repeat.toString() --></p>
</md-list-item>
<!-- reminder -->
<md-list-item ng-show="viewer.component.$hasAlarm">
<md-icon>alarm</md-icon>
<p><!-- viewer.component.alarm.toString() --></p>
</md-list-item>
<!-- attendees -->
<md-list-item ng-show="viewer.component.attendees.length > 0">
<div class="pseudo-input-container">
<label class="pseudo-input-label"><var:string label:value="Attendees"/></label>
<!-- md-contact-chips don't support "readonly", so we build them using md-chips
in readonly mode and a template similar to the one of md-contact-chips -->
<md-chips class="md-contact-chips"
ng-model="viewer.component.attendees"
readonly="true">
<md-chip-template>
<div class="md-contact-avatar"><img src="#" ng-src="{{$chip.image}}" alt="{{$chip.name}}"/></div>
<div class="md-contact-name">{{$chip.name}}</div>
<md-icon ng-class="'icon-' + $chip.status"><!-- partstat --></md-icon>
</md-chip-template>
</md-chips>
</div>
</md-list-item>
</md-list>
</md-dialog-content>
<!-- actions -->
<div class="md-actions">
<md-button type="button" ng-click="viewer.edit()" ng-hide="viewer.component.occurrenceId">
<var:string label:value="Edit"/>
</md-button>
<md-button type="button" ng-click="viewer.editAllOccurrences()" ng-show="viewer.component.occurrenceId">
<var:string label:value="Edit All Occurrences"/>
</md-button>
<md-button type="button" ng-click="viewer.edit()" ng-show="viewer.component.occurrenceId">
<var:string label:value="Edit This Occurrence"/>
</md-button>
</div>
</form>
</md-dialog>
</container>
@@ -21,7 +21,7 @@
menuid="eventSearchMenu" />
</span>
<var:string label:value="View:" />
<var:string label:value="View" />
<var:popup list="filters"
const:id="filterpopup"
item="filter" string="filterLabel" value="filter"
+3 -3
View File
@@ -100,9 +100,9 @@
<div>
<h1><!-- space --></h1>
<p><span><!-- space --></span></p>
<p><span class="label"><var:string label:value="Calendar:" /></span> <span><!-- space --></span></p>
<p><span class="label"><var:string label:value="Location:" /></span> <span><!-- space --></span></p>
<p><span class="label"><var:string label:value="Created by:" /></span> <span><!-- space --></span></p>
<p><span class="label"><var:string label:value="Calendar" /></span> <span><!-- space --></span></p>
<p><span class="label"><var:string label:value="Location" /></span> <span><!-- space --></span></p>
<p><span class="label"><var:string label:value="Created by" /></span> <span><!-- space --></span></p>
<p class="description"><!-- space --></p>
</div>
</div>
+4 -4
View File
@@ -22,13 +22,13 @@
<table class="frame">
<tr>
<td style="width: 30%;">
<label id="labelTitle"><var:string label:value="Title:" /></label></td>
<label id="labelTitle"><var:string label:value="Title" /></label></td>
<td>
<input type="text" id="inputFieldTitle" value="" /></td>
</tr>
<tr>
<td>
<label><var:string label:value="Layout:" /></label></td>
<label><var:string label:value="Layout" /></label></td>
<td>
<var:popup list="printLayoutList" item="item"
const:id="printLayoutList"
@@ -64,7 +64,7 @@
<var:string label:value="Custom date range" /></label></td></tr>
<tr>
<td id="dateRangeFrom" name="dateRange">
<label id="labelFrom"><var:string label:value="From:" /></label>
<label id="labelFrom"><var:string label:value="From" /></label>
<var:component className="UIxDatePicker"
const:dateID="startingDate"
day="startDay"
@@ -73,7 +73,7 @@
label:label="Select starting date"/></td></tr>
<tr>
<td id="dateRangeTo" name="dateRange">
<label id="labelTo"><var:string label:value="To:" /></label>
<label id="labelTo"><var:string label:value="To" /></label>
<var:component className="UIxDatePicker"
const:dateID="endingDate"
day="endDay"
@@ -0,0 +1,76 @@
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE container>
<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="40">
<md-toolbar class="sg-padded">
<div class="md-toolbar-tools">
<div class="pseudo-input-container md-flex">
<label class="pseudo-input-label"><var:string label:value="Links to this Calendar"/></label>
<div class="pseudo-input-field sg-md-title"><var:string value="calendar.displayName"/></div>
</div>
<md-button class="md-icon-button" ng-click="close()">
<md-icon aria-label="Close dialog">close</md-icon>
</md-button>
</div>
</md-toolbar>
<md-dialog-content>
<div layout="column" layout-padding="layout-padding">
<div layout="column" layout-padding="layout-padding">
<var:if condition="isWebCalendar">
<md-input-container>
<label><var:string label:value="URL"/></label>
<input var:value="webCalendarURL" ng-readonly="true"/>
</md-input-container>
</var:if>
<var:if condition="isWebCalendar" const:negate="YES">
<div class="sg-md-title"><var:string label:value="Authenticated User Access"/></div>
<md-input-container>
<label><var:string label:value="CalDAV URL"/></label>
<input var:value="calDavURL" ng-readonly="true"/>
</md-input-container>
<md-input-container>
<label><var:string label:value="WebDAV ICS URL"/></label>
<input var:value="webDavICSURL" ng-readonly="true"/>
</md-input-container>
<md-input-container>
<label><var:string label:value="WebDAV XML URL"/></label>
<input var:value="webDavXMLURL" ng-readonly="true"/>
</md-input-container>
</var:if>
</div>
<var:if condition="isPublicAccessEnabled">
<var:if condition="isWebCalendar" const:negate="YES">
<div layout="column" layout-padding="layout-padding">
<div class="sg-md-title"><var:string label:value="Public Access"/></div>
<md-input-container>
<label><var:string label:value="CalDAV URL"/></label>
<input var:value="publicCalDavURL" ng-readonly="true"/>
</md-input-container>
<md-input-container>
<label><var:string label:value="WebDAV ICS URL"/></label>
<input var:value="publicWebDavICSURL" ng-readonly="true"/>
</md-input-container>
<md-input-container>
<label><var:string label:value="WebDAV XML URL"/></label>
<input var:value="publicWebDavXMLURL" ng-readonly="true"/>
</md-input-container>
</div>
</var:if>
</var:if>
</div>
</md-dialog-content>
</md-dialog>
</container>
+25 -25
View File
@@ -40,54 +40,54 @@
<form var:href="saveURL" name="editform">
<div id="eventView">
<label><var:string label:value="Title:" /><span class="content"
<label><var:string label:value="Title" /><span class="content"
><input type="text" name="summary" id="summary"
class="textField"
var:value="title"
/></span></label>
<label><var:string label:value="Location:" /><span class="content"
<label><var:string label:value="Location" /><span class="content"
><input type="text" name="location" id="location"
class="textField"
var:value="location"
/></span></label>
<span class="checkBoxList"><var:string label:value="Category:" />
<span class="checkBoxList"><var:string label:value="Category" />
<span class="content"><var:popup const:id="categoryList"
list="categoryList" item="item"
label:noSelectionString="category_none"
string="item" selection="category"
/> <var:string label:value="Calendar:" />
/> <var:string label:value="Calendar" />
<var:popup const:id="calendarList"
var:disabled="isChildOccurence"
list="calendarList" item="item"
string="calendarDisplayName"
var:selection="componentCalendar"
/></span></span>
<span class="checkBoxList"><var:string label:value="Priority:" />
<span class="checkBoxList"><var:string label:value="Priority" />
<span class="content"><var:popup const:id="priorityList" list="priorities" item="item"
label:noSelectionString="prio_0"
string="itemPriorityText" selection="priority"/>
</span></span>
<var:if condition="hasOrganizer"
><label id="organizerLabel"><var:string label:value="Organizer:"
><label id="organizerLabel"><var:string label:value="Organizer"
/><span class="content"><a var:href="organizer.email" var:email="organizer.email.rfc822Email"
><var:string value="organizerName" /></a
></span></label>
</var:if>
<var:if condition="hasCreatedBy"
><label id="createdByLabel"><var:string label:value="Created by:"
><label id="createdByLabel"><var:string label:value="Created by"
/><span class="content"><a var:href="createdByLink" var:email="createdBy"
><var:string value="createdByName" /></a
></span></label>
</var:if>
<!--<var:if condition="canBeOrganizer"
><label id="organizerListLabel"><var:string label:value="Organizer:"
><label id="organizerListLabel"><var:string label:value="Organizer"
/><span class="content"><var:popup list="organizerList"
item="item" string="itemOrganizerText"
var:selection="organizerIdentity"/>
</span></label></var:if>-->
<var:component-content />
<hr />
<label><var:string label:value="Repeat:" />
<label><var:string label:value="Repeat" />
<span class="content"><var:popup list="repeatList" item="item"
label:noSelectionString="repeat_NEVER"
var:disabled="isChildOccurence"
@@ -98,7 +98,7 @@
/> <a href="#" id="repeatHref" style="display: none;"
><var:string label:value="Edit"/></a></span></label>
<hr />
<label><var:string label:value="Reminder:" />
<label><var:string label:value="Reminder" />
<span class="content"><var:popup list="reminderList" item="item"
const:disabledValue="-"
label:noSelectionString="reminder_NONE"
@@ -108,9 +108,9 @@
/> <a href="#" id="reminderHref" style="display: none;"
><var:string label:value="Edit"/></a></span></label>
<hr />
<label id="commentArea"><var:string label:value="Description:"
<label id="commentArea"><var:string label:value="Description"
/><span class="content"><textarea rows="20" name="comment" var:value="comment" /></span></label>
<label id="documentLabel" style="display: none;"><var:string label:value="Document:"
<label id="documentLabel" style="display: none;"><var:string label:value="Document"
/><span class="content"
><a href="#" id="documentHref"><!-- space --></a
><a id="changeAttachButton" class="button" var:href="#"
@@ -190,45 +190,45 @@
<div id="eventView">
<label class="calendarName"><var:string var:value="componentCalendarName" /></label>
<div id="generalDiv">
<label class="title titleNoSpace"><var:string label:value="General:" />
<label class="title titleNoSpace"><var:string label:value="General" />
<span class="content headerContent"><!-- line --></span>
</label>
<label><var:string label:value="Title:" />
<label><var:string label:value="Title" />
<span class="content"><var:string var:value="title"/></span>
</label>
<var:if condition="hasLocation">
<label><var:string label:value="Location:" />
<label><var:string label:value="Location" />
<span class="content"><var:string var:value="location" /></span>
</label>
</var:if>
<var:if condition="hasCategory">
<label><var:string label:value="Category:" />
<label><var:string label:value="Category" />
<span class="content"><var:string var:value="category" /></span>
</label>
</var:if>
<var:if condition="hasPriority">
<label><var:string label:value="Priority:" />
<label><var:string label:value="Priority" />
<span class="content"><var:string var:value="priority"/></span>
</label>
</var:if>
<var:component-content />
<var:if condition="hasRepeat">
<label><var:string label:value="Repeat:" />
<label><var:string label:value="Repeat" />
<span class="content"><var:string var:value="repeatLabel" /></span>
</label>
</var:if>
<label id="documentLabel" style="display: none;"><var:string label:value="Document:" />
<label id="documentLabel" style="display: none;"><var:string label:value="Document" />
<span class="content"><a href="#" id="documentHref"><!-- space --></a></span>
</label>
<var:if condition="hasAttendees">
<label id="organizerLabel"><var:string label:value="Organizer:"/>
<label id="organizerLabel"><var:string label:value="Organizer"/>
<span class="content"><a var:href="organizer.email" var:email="organizer.email.rfc822Email"
><var:string value="organizerName" /></a
></span>
</label>
</var:if>
<var:if condition="hasCreatedBy">
<label id="createdByLabel"><var:string label:value="Created by:"/>
<label id="createdByLabel"><var:string label:value="Created by"/>
<span class="content"><a var:href="createdBy" var:email="createdBy"
><var:string value="createdByName" /></a
></span>
@@ -238,7 +238,7 @@
<var:if condition="userHasRSVP">
<form var:href="rsvpURL" name="rsvpform">
<label><var:string label:value="Reply:" />
<label><var:string label:value="Reply" />
<span class="content"><var:popup list="replyList" item="item"
const:name="replyList"
const:id="replyList"
@@ -276,7 +276,7 @@
id="reminderEmailAttendees"
var:value="reminderEmailAttendees"/>
<label><var:string label:value="Reminder:" />
<label><var:string label:value="Reminder" />
<span class="content"><var:popup list="reminderList" item="item"
const:disabledValue="-"
label:noSelectionString="reminder_NONE"
@@ -290,7 +290,7 @@
</div>
<var:if condition="hasAttendees">
<div id="attendeesDiv">
<label class="title"><var:string label:value="Attendees:" />
<label class="title"><var:string label:value="Attendees" />
<span class="content headerContent"><!-- line --></span>
</label>
<label id="attendeesLabel">
@@ -310,7 +310,7 @@
</var:if>
<var:if condition="hasComment">
<div id="descriptionDiv">
<label class="title"><var:string label:value="Description:" />
<label class="title"><var:string label:value="Description" />
<span class="content headerContent"><!-- line --></span>
</label>
<label><span class="content">
+6 -6
View File
@@ -14,7 +14,7 @@
var:saveURL="saveURL">
<var:if condition="eventIsReadOnly" const:negate="YES">
<span class="checkBoxList"><var:string label:value="Start:" />
<span class="checkBoxList"><var:string label:value="Start" />
<span class="content"><input var:checked="hasStartDate"
id="startDateCB" type="checkbox" class="checkBox"
onchange="onTimeControlCheck(this);"
@@ -25,7 +25,7 @@
const:dayStartHour="0"
const:dayEndHour="23"
/></span></span>
<span class="checkBoxList"><var:string label:value="Due Date:" />
<span class="checkBoxList"><var:string label:value="Due Date" />
<span class="content"><input var:checked="hasDueDate"
id="dueDateCB" type="checkbox" class="checkBox"
onchange="onTimeControlCheck(this);"
@@ -36,7 +36,7 @@
const:dayStartHour="0"
const:dayEndHour="23"
/></span></span>
<span class="checkBoxList"><var:string label:value="Status:" />
<span class="checkBoxList"><var:string label:value="Status" />
<span class="content"><var:popup list="statusList" item="item"
const:id="statusList"
label:noSelectionString="status_NOT-SPECIFIED"
@@ -58,16 +58,16 @@
</var:if>
<var:if condition="eventIsReadOnly">
<var:if condition="hasStartDate">
<label><var:string label:value="Start:" />
<label><var:string label:value="Start" />
<span class="content"><var:string var:value="taskStartDateTimeText" /></span>
</label>
</var:if>
<var:if condition="hasDueDate">
<label><var:string label:value="Due Date:" />
<label><var:string label:value="Due Date" />
<span class="content"><var:string var:value="taskDueDateTimeText" /></span>
</label>
</var:if>
<span class="checkBoxList"><var:string label:value="Status:" />
<span class="checkBoxList"><var:string label:value="Status" />
<span class="content"><var:string var:value="itemStatusText"
/><var:if condition="statusDateDisabled" const:negate="YES"> <var:string var:value="statusDateText"/></var:if
><var:if condition="statusPercentDisabled" const:negate="YES"> (<var:string var:value="statusPercent"/> <var:string label:value="% complete"/>)</var:if>
@@ -0,0 +1,215 @@
<?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">
<form name="eventForm" ng-submit="editor.save(eventForm)">
<md-toolbar class="md-padding" ng-class="editor.component.getClassName('bg')">
<div class="md-toolbar-tools">
<!-- 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 md-no-float="true">
<input type="text"
class="md-title"
label:placeholder="Title"
ng-model="editor.component.summary"/>
</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">
<var:string label:value="Save"/>
</md-button>
</div>
</form>
</md-dialog>
</container>
@@ -0,0 +1,103 @@
<?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="40">
<md-toolbar class="md-padding" ng-class="viewer.component.getClassName('bg')">
<div class="md-toolbar-tools">
<md-icon class="material-icons sg-icon-toolbar-bg">assignment_turned_in</md-icon>
<h2 class="md-flex">
<!-- classification -->
<md-icon ng-if="viewer.component.classification == 'confidential'">visibility_off</md-icon>
<md-icon ng-if="viewer.component.classification == 'private'">vpn_key</md-icon>
<!-- summary -->
{{viewer.component.summary}}
<!-- priority -->
<md-icon ng-repeat="i in viewer.component.priority | range">star</md-icon>
</h2>
<md-button class="md-icon-button" ng-click="viewer.close()">
<md-icon aria-label="Close dialog">close</md-icon>
</md-button>
</div>
</md-toolbar>
<md-dialog-content>
<md-list>
<!-- categories -->
<md-list-item ng-show="viewer.component.categories.length > 0">
<md-chips ng-model="viewer.component.categories" readonly="true">
<md-chip-template>
<span>{{$chip}}</span>
</md-chip-template>
</md-chips>
</md-list-item>
<!-- location -->
<md-list-item ng-show="viewer.component.location">
<md-icon>place</md-icon>
<p>{{viewer.component.location}}</p>
</md-list-item>
<!-- calendar -->
<md-list-item>
<md-icon>event</md-icon>
<p>{{viewer.component.calendar}}</p>
</md-list-item>
<!-- start/due dates -->
<md-list-item class="md-2-line">
<md-icon>access_time</md-icon>
<div layout="row" class="md-flex">
<div class="md-list-item-text" ng-show="viewer.component.startDate">
<p><var:string label:value="Start"/></p>
<h3>
{{viewer.component.localizedStartDate}}
<span ng-hide="viewer.component.isAllDay"> {{viewer.component.localizedStartTime}}</span>
</h3>
</div>
<div class="md-list-item-text" ng-show="viewer.component.dueDate">
<p><var:string label:value="Due Date"/></p>
<h3>
{{viewer.component.localizedDueDate}}
<span ng-hide="viewer.component.isAllDay">{{viewer.component.localizedDueTime}}</span>
</h3>
</div>
</div>
</md-list-item>
<!-- status -->
<md-list-item ng-show="viewer.component.status == 'completed'">
<md-icon>check</md-icon>
<p>{{viewer.component.localizedCompletedDate}} {{viewer.component.localizedCompletedTime}}</p>
</md-list-item>
<md-list-item ng-show="viewer.component.enablePercentComplete()">
<md-icon>call_made</md-icon>
<p>{{viewer.component.percentComplete}} %</p>
</md-list-item>
<!-- attach urls -->
<md-list-item ng-show="viewer.component.attachUrls.length > 0">
<md-icon>link</md-icon>
<p ng-repeat="url in viewer.component.attachUrls"><a ng-href="url.value">{{url.value}}</a></p>
</md-list-item>
<!-- comment -->
<md-list-item ng-show="viewer.component.comment">
<md-icon>mode_comment</md-icon>
<p>{{viewer.component.comment}}</p>
</md-list-item>
<!-- repeat -->
<md-list-item ng-show="viewer.component.repeat">
<md-icon>repeat</md-icon>
<p><!-- viewer.component.repeat.toString() --></p>
</md-list-item>
<!-- reminder -->
<md-list-item ng-show="viewer.component.$hasAlarm">
<md-icon>alarm</md-icon>
<p><!-- viewer.component.alarm.toString() --></p>
</md-list-item>
</md-list>
</md-dialog-content>
<!-- edit -->
<div class="md-actions">
<md-button ng-click="viewer.edit()">
<var:string label:value="Edit"/>
</md-button>
</div>
</md-dialog>
</container>