mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-06-06 19:09:43 +00:00
Remove data- prefix in attributes of HTML tags
This commit is contained in:
@@ -5,10 +5,10 @@
|
||||
xmlns:const="http://www.skyrix.com/od/constant"
|
||||
xmlns:label="OGo:label"
|
||||
>
|
||||
<div class="filterPanel" data-search="admin">
|
||||
<div class="filterPanel" search="admin">
|
||||
<div class="menu" id="searchMenu">
|
||||
<ul class="choiceMenu">
|
||||
<li data-option="name_or_address"><var:string
|
||||
<li option="name_or_address"><var:string
|
||||
label:value="Name or Email"/></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -4,18 +4,18 @@
|
||||
<md-content md-scroll-y="true" class="md-padding">
|
||||
<div class="editor md-padding" style="padding-bottom: 72px">
|
||||
<hgroup class="header">
|
||||
<h1 class="sg-md-display-2--light" data-ng-bind-html="card.$fullname()"><!-- fullname --></h1>
|
||||
<h1 class="sg-md-display-2--light" ng-bind-html="card.$fullname()"><!-- fullname --></h1>
|
||||
<h6 class="sg-md-display-2-subheader">{{card.$description()}}
|
||||
<span data-ng-repeat="category in card.categories">{{category.value}}</span>
|
||||
<span ng-repeat="category in card.categories">{{category.value}}</span>
|
||||
</h6>
|
||||
</hgroup>
|
||||
<form name="cardForm" data-ng-show="card.$isCard()" data-ng-submit="save(cardForm)">
|
||||
<form name="cardForm" ng-show="card.$isCard()" ng-submit="save(cardForm)">
|
||||
<md-input-container>
|
||||
<var:entity const:name="nbsp"/>
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="Display"/>
|
||||
</label>
|
||||
<input type="text" ng-maxlength="30" data-ng-model="card.fn"/>
|
||||
<input type="text" ng-maxlength="30" ng-model="card.fn"/>
|
||||
</md-input-container>
|
||||
<!-- todo: look for better reset/normalization. Semanticaly this should be a fieldset, but content doesn't flex properly du to browser styles-->
|
||||
<div id="contact-identification" class="sg-fieldset" layout="row" layout-sm="column">
|
||||
@@ -23,19 +23,19 @@
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="Firstname"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="card.givenname"/>
|
||||
<input type="text" ng-model="card.givenname"/>
|
||||
</md-input-container>
|
||||
<md-input-container flex="40">
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="Lastname"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="card.sn"/>
|
||||
<input type="text" ng-model="card.sn"/>
|
||||
</md-input-container>
|
||||
<md-input-container flex="20">
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="Nickname"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="card.nickname"/>
|
||||
<input type="text" ng-model="card.nickname"/>
|
||||
</md-input-container>
|
||||
</div>
|
||||
|
||||
@@ -44,33 +44,33 @@
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="Organization"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="card.org"/>
|
||||
<input type="text" ng-model="card.org"/>
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="Title"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="card.title"/>
|
||||
<input type="text" ng-model="card.title"/>
|
||||
</md-input-container>
|
||||
</div>
|
||||
|
||||
<!-- org units -->
|
||||
<div class="attr" data-ng-repeat="unit in card.orgUnits">
|
||||
<div class="attr" ng-repeat="unit in card.orgUnits">
|
||||
<div layout="row" layout-align="center end">
|
||||
<md-input-container>
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="Organization Unit"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="unit.value"
|
||||
data-sg-focus-on="orgUnit_{{$index}}"/>
|
||||
<input type="text" ng-model="unit.value"
|
||||
sg-focus-on="orgUnit_{{$index}}"/>
|
||||
</md-input-container>
|
||||
<md-button class="icon" data-ng-click="card.$delete('orgUnits', $index)">
|
||||
<md-button class="icon" ng-click="card.$delete('orgUnits', $index)">
|
||||
<i class="md-icon-remove-circle"><!-- remove --></i>
|
||||
</md-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-layout-margin" layout="row" layout-align="start center">
|
||||
<md-button class="icon" data-ng-click="addOrgUnit()">
|
||||
<md-button class="icon" ng-click="addOrgUnit()">
|
||||
<i class="md-icon-add-circle"><!-- plus icon button--></i>
|
||||
</md-button>
|
||||
<label class="button-label">
|
||||
@@ -83,28 +83,28 @@
|
||||
<label class="pseudo-input-label--no-margin">
|
||||
<var:string label:value="Birthday"/>
|
||||
</label>
|
||||
<input type="date" data-ng-model="card.birthday"/>
|
||||
<input type="date" ng-model="card.birthday"/>
|
||||
</md-input-container>
|
||||
|
||||
<!-- categories -->
|
||||
<div class="attr" data-ng-repeat="category in card.categories">
|
||||
<div class="attr" ng-repeat="category in card.categories">
|
||||
<div layout="row" layout-align="center end">
|
||||
<md-input-container>
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="Category"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="category.value"
|
||||
data-sg-focus-on="category_{{$index}}"/>
|
||||
<!--data-typeahead="cat for cat in card.allCategories | filter:$viewValue"/>-->
|
||||
<input type="text" ng-model="category.value"
|
||||
sg-focus-on="category_{{$index}}"/>
|
||||
<!--typeahead="cat for cat in card.allCategories | filter:$viewValue"/>-->
|
||||
</md-input-container>
|
||||
<md-button class="icon" data-ng-click="card.$delete('categories', $index)">
|
||||
<md-button class="icon" ng-click="card.$delete('categories', $index)">
|
||||
<i class="md-icon-remove-circle"><!-- remove --></i>
|
||||
</md-button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- New category button-group -->
|
||||
<div class="md-layout-margin" layout="row" layout-align="start center">
|
||||
<md-button class="icon" data-ng-click="addCategory()">
|
||||
<md-button class="icon" ng-click="addCategory()">
|
||||
<i class="md-icon-add-circle"><!-- new --></i>
|
||||
</md-button>
|
||||
<label class="button-label">
|
||||
@@ -114,24 +114,24 @@
|
||||
|
||||
<!-- emails -->
|
||||
<div class="section">
|
||||
<div class="attr" data-ng-repeat="email in card.emails">
|
||||
<div class="attr" ng-repeat="email in card.emails">
|
||||
<div class="md-layout-margin" layout="row" layout-align="space-between end">
|
||||
<md-select ng-model="email.type">
|
||||
<md-option ng-repeat="type in allEmailTypes" ng-value="type">{{ type }}</md-option>
|
||||
</md-select>
|
||||
<md-input-container>
|
||||
<label class="pseudo-input-label"><var:string label:value="Email Address"/></label>
|
||||
<input type="email" data-ng-model="email.value"
|
||||
data-sg-focus-on="email_{{$index}}"/>
|
||||
<input type="email" ng-model="email.value"
|
||||
sg-focus-on="email_{{$index}}"/>
|
||||
</md-input-container>
|
||||
<md-button class="icon" data-ng-click="card.$delete('emails', $index)">
|
||||
<md-button class="icon" ng-click="card.$delete('emails', $index)">
|
||||
<i class="md-icon-remove-circle"><!-- remove --></i>
|
||||
</md-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="md-layout-margin" layout="row" layout-align="start center">
|
||||
<md-button class="icon" data-ng-click="addEmail()">
|
||||
<md-button class="icon" ng-click="addEmail()">
|
||||
<i class="md-icon-add-circle"><!-- new --></i>
|
||||
</md-button>
|
||||
<label class="button-label">
|
||||
@@ -142,27 +142,27 @@
|
||||
|
||||
<!-- phones -->
|
||||
<div class="section">
|
||||
<div class="attr" data-ng-repeat="phone in card.phones">
|
||||
<div class="attr" ng-repeat="phone in card.phones">
|
||||
<div layout="row" layout-align="center end">
|
||||
<i class="md-icon-phone md-icon-lg cols-1"><!--icon--></i>
|
||||
<md-select data-ng-model="phone.type">
|
||||
<md-select ng-model="phone.type">
|
||||
<md-option ng-repeat="type in allTelTypes" ng-value="type">{{ type }}</md-option>
|
||||
</md-select>
|
||||
<md-input-container>
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="Phone Number"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="phone.value"
|
||||
data-sg-focus-on="phone_{{$index}}"/>
|
||||
<input type="text" ng-model="phone.value"
|
||||
sg-focus-on="phone_{{$index}}"/>
|
||||
</md-input-container>
|
||||
<md-button class="icon" data-ng-click="card.$delete('phones', $index)">
|
||||
<md-button class="icon" ng-click="card.$delete('phones', $index)">
|
||||
<i class="md-icon-remove-circle"><!-- remove --></i>
|
||||
</md-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="md-layout-margin" layout="row" layout-align="start center">
|
||||
<md-button class="icon" data-ng-click="addPhone()">
|
||||
<md-button class="icon" ng-click="addPhone()">
|
||||
<i class="md-icon-add-circle"><!-- new --></i>
|
||||
</md-button>
|
||||
<label class="button-label">
|
||||
@@ -173,24 +173,24 @@
|
||||
|
||||
<!-- urls -->
|
||||
<div class="section">
|
||||
<div class="attr" data-ng-repeat="url in card.urls">
|
||||
<div class="attr" ng-repeat="url in card.urls">
|
||||
<div layout="row" layout-align="center end">
|
||||
<md-select class="text-right" data-ng-model="url.type">
|
||||
<md-select class="text-right" ng-model="url.type">
|
||||
<md-option ng-repeat="type in allUrlTypes" value="type">{{ type }}</md-option>
|
||||
</md-select>
|
||||
<md-input-container>
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="URL"/>
|
||||
</label>
|
||||
<input type="url" data-ng-model="url.value" data-sg-focus-on="url_{{$index}}"/>
|
||||
<input type="url" ng-model="url.value" sg-focus-on="url_{{$index}}"/>
|
||||
</md-input-container>
|
||||
<span class="button alert icon" data-ng-click="card.$delete('urls', $index)">
|
||||
<span class="button alert icon" ng-click="card.$delete('urls', $index)">
|
||||
<i class="md-icon-remove-circle-outline"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-layout-margin" layout="row" layout-align="start center">
|
||||
<md-button class="icon" data-ng-click="addUrl()">
|
||||
<md-button class="icon" ng-click="addUrl()">
|
||||
<i class="md-icon-add-circle"><!-- new --></i>
|
||||
</md-button>
|
||||
<label class="button-label">
|
||||
@@ -201,11 +201,11 @@
|
||||
|
||||
<!-- addresses -->
|
||||
<div class="section">
|
||||
<div class="attr" data-ng-repeat="address in card.addresses">
|
||||
<div class="attr" ng-repeat="address in card.addresses">
|
||||
|
||||
|
||||
<div layout="row" layout-align="start end">
|
||||
<md-select data-ng-model="address.type">
|
||||
<md-select ng-model="address.type">
|
||||
<md-option ng-repeat="type in allAddressTypes" ng-value="type">{{ type }}</md-option>
|
||||
</md-select>
|
||||
<p>
|
||||
@@ -217,14 +217,14 @@
|
||||
<label>
|
||||
<var:string label:value="street"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="address.street"
|
||||
data-sg-focus-on="address_{{$index}}"/>
|
||||
<input type="text" ng-model="address.street"
|
||||
sg-focus-on="address_{{$index}}"/>
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<label>
|
||||
<var:string label:value=""/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="address.street2"/>
|
||||
<input type="text" ng-model="address.street2"/>
|
||||
</md-input-container>
|
||||
</div>
|
||||
<div layout="row" layout-align="center end">
|
||||
@@ -232,7 +232,7 @@
|
||||
<label>
|
||||
<var:string label:value="Postoffice"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="address.postoffice"/>
|
||||
<input type="text" ng-model="address.postoffice"/>
|
||||
</md-input-container>
|
||||
</div>
|
||||
<div layout="row" layout-align="center end">
|
||||
@@ -240,7 +240,7 @@
|
||||
<label>
|
||||
<var:string label:value="City"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="address.locality"/>
|
||||
<input type="text" ng-model="address.locality"/>
|
||||
</md-input-container>
|
||||
</div>
|
||||
<div layout="row" layout-align="center end">
|
||||
@@ -248,7 +248,7 @@
|
||||
<label>
|
||||
<var:string label:value="Region"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="address.region"/>
|
||||
<input type="text" ng-model="address.region"/>
|
||||
</md-input-container>
|
||||
</div>
|
||||
<div layout="row" layout-align="center end">
|
||||
@@ -256,7 +256,7 @@
|
||||
<label>
|
||||
<var:string label:value="Country"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="address.country"/>
|
||||
<input type="text" ng-model="address.country"/>
|
||||
</md-input-container>
|
||||
</div>
|
||||
<div layout="row" layout-align="center end">
|
||||
@@ -264,15 +264,15 @@
|
||||
<label>
|
||||
<var:string label:value="Postal Code"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="address.postalcode"/>
|
||||
<input type="text" ng-model="address.postalcode"/>
|
||||
</md-input-container>
|
||||
<md-button class="icon" data-ng-click="card.$delete('addresses', $index)">
|
||||
<md-button class="icon" ng-click="card.$delete('addresses', $index)">
|
||||
<i class="md-icon-remove-circle"><!-- remove --></i>
|
||||
</md-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-layout-margin" layout="row" layout-align="start center">
|
||||
<md-button class="icon" data-ng-click="addAddress()">
|
||||
<md-button class="icon" ng-click="addAddress()">
|
||||
<i class="md-icon-add-circle"><!-- new --></i>
|
||||
</md-button>
|
||||
<label class="button-label">
|
||||
@@ -287,16 +287,16 @@
|
||||
<label class=" right inline">
|
||||
<var:string label:value="Note"/>
|
||||
</label>
|
||||
<textarea data-ng-model="card.note"><!-- note --></textarea>
|
||||
<textarea ng-model="card.note"><!-- note --></textarea>
|
||||
</md-input-container>
|
||||
|
||||
|
||||
|
||||
<div class="fieldset md-layout-margin" layout="row" layout-align="end center">
|
||||
<md-button class="md-primary md-hue-3" data-ng-click="cancel()">
|
||||
<md-button class="md-primary md-hue-3" ng-click="cancel()">
|
||||
<var:string label:value="Cancel"/>
|
||||
</md-button>
|
||||
<md-button class="md-accent" data-ng-click="reset()">
|
||||
<md-button class="md-accent" ng-click="reset()">
|
||||
<var:string label:value="Reset"/>
|
||||
</md-button>
|
||||
<md-button class="md-accent md-hue-3" type="submit">
|
||||
@@ -304,13 +304,13 @@
|
||||
</md-button>
|
||||
</div>
|
||||
</form>
|
||||
<form name="listForm" data-ng-show="card.$isList()" data-ng-submit="save(listForm)">
|
||||
<form name="listForm" ng-show="card.$isList()" ng-submit="save(listForm)">
|
||||
<div class="buttonsToolbar">
|
||||
<span class="button tiny radius secondary" data-ng-click="cancel()">
|
||||
<span class="button tiny radius secondary" ng-click="cancel()">
|
||||
<i class="icon-arrow-left"><!-- cancel --></i>
|
||||
<var:string label:value="Cancel"/>
|
||||
</span>
|
||||
<span class="button tiny radius secondary" data-ng-click="reset()">
|
||||
<span class="button tiny radius secondary" ng-click="reset()">
|
||||
<i class="icon-undo"><!-- reset --></i>
|
||||
<var:string label:value="Reset"/>
|
||||
</span>
|
||||
@@ -327,7 +327,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="value">
|
||||
<input type="text" data-ng-model="card.fn"/>
|
||||
<input type="text" ng-model="card.fn"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="attr">
|
||||
@@ -337,15 +337,15 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="value">
|
||||
<input type="text" data-ng-model="card.nickname"/>
|
||||
<input type="text" ng-model="card.nickname"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- list members -->
|
||||
<div class="section">
|
||||
<div class="attr" data-ng-repeat="ref in card.refs">
|
||||
<div class="attr" ng-repeat="ref in card.refs">
|
||||
<div class="action">
|
||||
<span class="button alert icon" data-ng-click="card.$delete('refs', $index)">
|
||||
<span class="button alert icon" ng-click="card.$delete('refs', $index)">
|
||||
<i class="md-icon-remove-circle-outline"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
@@ -355,15 +355,15 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="value">
|
||||
<input type="text" label:placeholder="email address" data-ng-model="ref.email"
|
||||
data-sg-focus-on="ref_{{$index}}"
|
||||
data-typeahead="card.$preferredEmail($viewValue) as card.$shortFormat($viewValue) for card in addressbook.$filter($viewValue, {dry: true, excludeLists: true})"
|
||||
data-typeahead-on-select="card.$updateMember($index, $model, $item)"/>
|
||||
<input type="text" label:placeholder="email address" ng-model="ref.email"
|
||||
sg-focus-on="ref_{{$index}}"
|
||||
typeahead="card.$preferredEmail($viewValue) as card.$shortFormat($viewValue) for card in addressbook.$filter($viewValue, {dry: true, excludeLists: true})"
|
||||
typeahead-on-select="card.$updateMember($index, $model, $item)"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="attr">
|
||||
<div class="value single">
|
||||
<span class="button outline secondary tiny" data-ng-click="addMember()">
|
||||
<span class="button outline secondary tiny" ng-click="addMember()">
|
||||
<i class="md-icon-add"><!-- new --></i>
|
||||
<var:string label:value="Add Member"/>
|
||||
</span>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="uploadResults" data-dropdown-content="dropdown-content" class="f-dropdown">
|
||||
<div id="uploadResults" dropdown-content="dropdown-content" class="f-dropdown">
|
||||
<div>
|
||||
<h3><var:string label:value="Import Cards"/></h3>
|
||||
<p id="uploadResultsContent">!- empty -</p>
|
||||
@@ -44,7 +44,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="f-dropdown" data-dropdown-content="dropdown-content" id="contactMenu">
|
||||
<ul class="f-dropdown" dropdown-content="dropdown-content" id="contactMenu">
|
||||
<li><var:string label:value="Properties" /></li>
|
||||
<li><var:string label:value="Categories" /></li>
|
||||
<li>!- separator -</li>
|
||||
@@ -68,7 +68,7 @@
|
||||
Templates script tag wrappers goes next
|
||||
-->
|
||||
<!-- fixme : consistently prefix attributes with or without data prefix-->
|
||||
<main class="view md-layout-fill" data-ui-view="addressbooks" layout="row"><!-- addressbooks list --></main>
|
||||
<main class="view md-layout-fill" ui-view="addressbooks" layout="row"><!-- addressbooks list --></main>
|
||||
|
||||
<!-- TEMPLATE SCRIPT WRAPPER -->
|
||||
<script type = "text/ng-template" id = "UIxContactFoldersView">
|
||||
@@ -76,41 +76,41 @@
|
||||
<!-- dropdown menu for addressbook options button -->
|
||||
<div id = "addressbookProperties" class = "f-dropdown icons-dropdown">
|
||||
<ul class = "button-group">
|
||||
<li label:data-tooltip = "Links to this Address Book"
|
||||
data-tooltip-popup-delay = "500">
|
||||
<li label:tooltip = "Links to this Address Book"
|
||||
tooltip-popup-delay = "500">
|
||||
<span class = "button"
|
||||
data-sg-dropdown-content-toggle = "#addressbookLinks">
|
||||
sg-dropdown-content-toggle = "#addressbookLinks">
|
||||
<i class = "icon-hyperlink"><!-- links --></i>
|
||||
</span>
|
||||
</li>
|
||||
<li label:data-tooltip = "Rename"
|
||||
data-tooltip-popup-delay = "500">
|
||||
<span class = "button" data-ng-click = "edit()">
|
||||
<li label:tooltip = "Rename"
|
||||
tooltip-popup-delay = "500">
|
||||
<span class = "button" ng-click = "edit()">
|
||||
<i class = "icon-pencil"><!-- rename --></i>
|
||||
</span>
|
||||
</li>
|
||||
<li data-ng-show = "addressbook.isOwned"
|
||||
label:data-tooltip = "Sharing..."
|
||||
data-tooltip-popup-delay = "500">
|
||||
<span class = "button" data-ng-click = "share()">
|
||||
<li ng-show = "addressbook.isOwned"
|
||||
label:tooltip = "Sharing..."
|
||||
tooltip-popup-delay = "500">
|
||||
<span class = "button" ng-click = "share()">
|
||||
<i class = "icon-share"><!-- share --></i>
|
||||
</span>
|
||||
</li>
|
||||
<li label:data-tooltip = "Import Cards"
|
||||
data-tooltip-popup-delay = "500">
|
||||
<span class = "button" data-ng-click = "importCards()">
|
||||
<li label:tooltip = "Import Cards"
|
||||
tooltip-popup-delay = "500">
|
||||
<span class = "button" ng-click = "importCards()">
|
||||
<i class = "icon-file"><!-- import --></i>
|
||||
</span>
|
||||
</li>
|
||||
<li label:data-tooltip = "Export"
|
||||
data-tooltip-popup-delay = "500">
|
||||
<span class = "button" data-ng-click = "exportCards()">
|
||||
<li label:tooltip = "Export"
|
||||
tooltip-popup-delay = "500">
|
||||
<span class = "button" ng-click = "exportCards()">
|
||||
<i class = "icon-ion-ios7-upload-outline"><!-- export --></i>
|
||||
</span>
|
||||
</li>
|
||||
<li label:data-tooltip = "Delete"
|
||||
data-tooltip-popup-delay = "500">
|
||||
<span class = "button" data-ng-click = "confirmDelete(addressbook)">
|
||||
<li label:tooltip = "Delete"
|
||||
tooltip-popup-delay = "500">
|
||||
<span class = "button" ng-click = "confirmDelete(addressbook)">
|
||||
<i class = "icon-trash"><!-- delete --></i>
|
||||
</span>
|
||||
</li>
|
||||
@@ -119,7 +119,7 @@
|
||||
|
||||
<!-- dropdown menu for new card split button
|
||||
<ul id="newListDrop" class="f-dropdown">
|
||||
<li><a class="tiny" data-ui-sref="addressbook.new({addressbookId: addressbook.id, contactType: 'list'})"><var:string label:value="New List"/></a></li>
|
||||
<li><a class="tiny" ui-sref="addressbook.new({addressbookId: addressbook.id, contactType: 'list'})"><var:string label:value="New List"/></a></li>
|
||||
</ul>
|
||||
-->
|
||||
|
||||
@@ -142,8 +142,8 @@
|
||||
|
||||
<!-- dropdown menu for subscriptions
|
||||
<div id="folderSubscribe" class="sg-dropdown-content"
|
||||
data-sg-subscribe="contact"
|
||||
data-sg-subscribe-on-select="subscribeToFolder">!- subscription dropdown -</div>
|
||||
sg-subscribe="contact"
|
||||
sg-subscribe-on-select="subscribeToFolder">!- subscription dropdown -</div>
|
||||
-->
|
||||
<!-- Sidenav -->
|
||||
<md-sidenav class="md-sidenav-left" md-component-id="left" md-is-locked-open="$media('gt-md')" layout="column">
|
||||
@@ -160,26 +160,26 @@
|
||||
ng-class = "{_selected: addressbook.id==folder.id}"
|
||||
ng-dblclick = "edit($index)">
|
||||
<md-item-content>
|
||||
<i class = "icon" data-ng-class = "{'icon-earth': folder.isRemote, 'icon-address-book': folder.isEditable}"><!-- icon --></i>
|
||||
<form data-ng-submit = "save($index)">
|
||||
<a data-ui-sref = "addressbook({addressbookId: folder.id})"
|
||||
data-ng-click = "select($index)"
|
||||
data-ng-show = "editMode!=folder.id"
|
||||
data-ng-cloak = "ng-cloak">{{folder.name}}
|
||||
<i class = "icon" ng-class = "{'icon-earth': folder.isRemote, 'icon-address-book': folder.isEditable}"><!-- icon --></i>
|
||||
<form ng-submit = "save($index)">
|
||||
<a ui-sref = "addressbook({addressbookId: folder.id})"
|
||||
ng-click = "select($index)"
|
||||
ng-show = "editMode!=folder.id"
|
||||
ng-cloak = "ng-cloak">{{folder.name}}
|
||||
</a>
|
||||
<input class = "folder-name" type = "text"
|
||||
data-ng-model = "folder.name"
|
||||
data-ng-show = "editMode==folder.id"
|
||||
data-ng-cloak = "ng-cloak"
|
||||
data-ng-blur = "save($index)"
|
||||
data-sg-focus-on = "addressBookName_{{$index}}"
|
||||
data-sg-escape = "revertEditing($index)" />
|
||||
ng-model = "folder.name"
|
||||
ng-show = "editMode==folder.id"
|
||||
ng-cloak = "ng-cloak"
|
||||
ng-blur = "save($index)"
|
||||
sg-focus-on = "addressBookName_{{$index}}"
|
||||
sg-escape = "revertEditing($index)" />
|
||||
</form>
|
||||
<span class = "icon" data-ng-cloak = "ng-cloak">
|
||||
<span class = "icon" ng-cloak = "ng-cloak">
|
||||
<a class = "icon" href = "#"
|
||||
data-dropdown-toggle = "#addressbookProperties"
|
||||
data-options = "align:right"
|
||||
data-ng-show = "currentFolderIsConfigurable(folder)">
|
||||
dropdown-toggle = "#addressbookProperties"
|
||||
options = "align:right"
|
||||
ng-show = "currentFolderIsConfigurable(folder)">
|
||||
<i class = "icon-cog"><!-- options --></i>
|
||||
</a>
|
||||
</span>
|
||||
@@ -236,20 +236,20 @@
|
||||
<h2 class="sg-md-subhead-solo fg-sogoBlue-700">Contacts</h2>
|
||||
</header>
|
||||
<!-- Search field & special results
|
||||
<input type="text" placeholder="Search" data-ng-model="search.filter" data-ng-keyup="doSearch($event)" />
|
||||
<div data-ng-switch="search.status">
|
||||
<div data-ng-switch-when="min-char" class="alert-bg">
|
||||
<input type="text" placeholder="Search" ng-model="search.filter" ng-keyup="doSearch($event)" />
|
||||
<div ng-switch="search.status">
|
||||
<div ng-switch-when="min-char" class="alert-bg">
|
||||
<i class="icon-warning"></i><var:string label:value="Please enter at least three characters"/>
|
||||
</div>
|
||||
<div data-ng-switch-when="no-result" class="alert-bg">
|
||||
<div ng-switch-when="no-result" class="alert-bg">
|
||||
<i class="icon-ion-search"></i><var:string label:value="No matching card"/>
|
||||
</div>
|
||||
<div data-ng-switch-when="remote-addressbook" data-ng-show="addressbook.cards.length == 0" class="alert-bg">
|
||||
<div ng-switch-when="remote-addressbook" ng-show="addressbook.cards.length == 0" class="alert-bg">
|
||||
<i class="icon-ion-search"></i><var:string label:value="Initiate a search"/>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<md-list data-vs-repeat="72" data-vs-scroll-parent="#contactsList">
|
||||
<md-list vs-repeat="72" vs-scroll-parent="#contactsList">
|
||||
<md-item ng-repeat="currentCard in addressbook.cards track by currentCard.id"
|
||||
ng-class="{_selected: card.id == currentCard.id}">
|
||||
<md-item-content>
|
||||
@@ -257,7 +257,7 @@
|
||||
<!--avatar--><!-- currentCard.tag = vcard || vlist -->
|
||||
</div>
|
||||
<div class="sg-tile-content">
|
||||
<a data-ui-sref="addressbook.card.view({addressbookId: addressbook.id, cardId: currentCard.id})">
|
||||
<a ui-sref="addressbook.card.view({addressbookId: addressbook.id, cardId: currentCard.id})">
|
||||
<div class="sg-md-body-multi contact-name" ng-bind-html="currentCard.$fullname()"><!-- cn --></div>
|
||||
<div class="sg-md-subhead-multi contact-email">{{currentCard.$preferredEmail()}}</div>
|
||||
</a>
|
||||
@@ -266,7 +266,7 @@
|
||||
</md-item>
|
||||
</md-list>
|
||||
</md-content>
|
||||
<md-content class="md-padding md-flex" data-ui-view="card"><!-- card view --></md-content>
|
||||
<md-content class="md-padding md-flex" ui-view="card"><!-- card view --></md-content>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
@@ -12,18 +12,18 @@
|
||||
<!--avatar--><!-- currentCard.tag = vcard || vlist -->
|
||||
</div>
|
||||
<div class="msg-header-content">
|
||||
<h1 class="sg-md-display-2--light" data-ng-bind-html="card.$fullname()"><!-- fullname --></h1>
|
||||
<h1 class="sg-md-display-2--light" ng-bind-html="card.$fullname()"><!-- fullname --></h1>
|
||||
<h6 class="sg-md-display-2-subheader">{{card.$description()}}
|
||||
<span class="label radius" data-ng-repeat="category in card.categories">{{category.value}}</span>
|
||||
<span class="label radius" ng-repeat="category in card.categories">{{category.value}}</span>
|
||||
</h6>
|
||||
</div>
|
||||
<div class="sg-icon-bar">
|
||||
<span data-ng-show="addressbook.isEditable">
|
||||
<a class="button tiny radius" data-ui-sref="addressbook.card.editor({addressbookId: addressbook.id, cardId: card.id})">
|
||||
<span ng-show="addressbook.isEditable">
|
||||
<a class="button tiny radius" ui-sref="addressbook.card.editor({addressbookId: addressbook.id, cardId: card.id})">
|
||||
<i class="md-icon-create"><!-- edit --></i>
|
||||
</a>
|
||||
</span>
|
||||
<span class="button tiny radius alert" data-ng-click="confirmDelete(card)">
|
||||
<span class="button tiny radius alert" ng-click="confirmDelete(card)">
|
||||
<i class="md-icon-delete"><!-- delete --></i>
|
||||
</span>
|
||||
</div>
|
||||
@@ -31,7 +31,7 @@
|
||||
<md-divider class="md-inset"><!-- divider --></md-divider>
|
||||
<section class="msg-body">
|
||||
|
||||
<div class="pseudo-input-container" data-ng-show="card.birthday">
|
||||
<div class="pseudo-input-container" ng-show="card.birthday">
|
||||
<div class="key">
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="Birthday"/>
|
||||
@@ -42,16 +42,16 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section" data-ng-repeat="ref in card.refs track by ref.reference">
|
||||
<div class="section" ng-repeat="ref in card.refs track by ref.reference">
|
||||
<!-- list members -->
|
||||
|
||||
<div class="pseudo-input-container">
|
||||
<div class="value single">
|
||||
<a data-ui-sref="addressbook.card.view({addressbookId: addressbook.id, cardId: ref.reference})">
|
||||
<a ui-sref="addressbook.card.view({addressbookId: addressbook.id, cardId: ref.reference})">
|
||||
{{ref.$fullname()}}
|
||||
</a>
|
||||
<div data-ng-show="ref.email">
|
||||
<a data-ui-sref="mailto:{{ref.email}}" ng-class="ng-scope">
|
||||
<div ng-show="ref.email">
|
||||
<a ui-sref="mailto:{{ref.email}}" ng-class="ng-scope">
|
||||
<i class="md-icon-mail"><!-- email --></i>
|
||||
{{ref.email}}
|
||||
</a>
|
||||
@@ -60,7 +60,7 @@
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<div class="pseudo-input-container" data-ng-repeat="email in card.emails">
|
||||
<div class="pseudo-input-container" ng-repeat="email in card.emails">
|
||||
<div class="key">
|
||||
<label class="pseudo-input-label"><var:entity const:name="nbsp"/>{{email.type}}
|
||||
</label>
|
||||
@@ -75,8 +75,8 @@
|
||||
</div>
|
||||
|
||||
|
||||
<div class="section" data-ng-show="card.phones.length > 0">
|
||||
<div class="pseudo-input-container" data-ng-repeat="phone in card.phones">
|
||||
<div class="section" ng-show="card.phones.length > 0">
|
||||
<div class="pseudo-input-container" ng-repeat="phone in card.phones">
|
||||
<div class="key">
|
||||
<label class="pseudo-input-label">{{phone.type}}</label>
|
||||
</div>
|
||||
@@ -87,37 +87,37 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" data-ng-show="card.urls">
|
||||
<div class="pseudo-input-container" data-ng-repeat="url in card.urls">
|
||||
<div class="section" ng-show="card.urls">
|
||||
<div class="pseudo-input-container" ng-repeat="url in card.urls">
|
||||
<div class="key">
|
||||
<label class="pseudo-input-label"><var:entity const:name="nbsp"/>{{url.type}}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="pseudo-input-field">
|
||||
<a href="#" data-ng-href="{{url.value}}">{{url.value}}</a>
|
||||
<a href="#" ng-href="{{url.value}}">{{url.value}}</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" data-ng-show="card.addresses">
|
||||
<div class="pseudo-input-container" data-ng-repeat="address in card.addresses">
|
||||
<div class="section" ng-show="card.addresses">
|
||||
<div class="pseudo-input-container" ng-repeat="address in card.addresses">
|
||||
<div class="key">
|
||||
<label class="pseudo-input-label">{{address.type}}</label>
|
||||
</div>
|
||||
<div class="pseudo-input-field">
|
||||
<div data-sg-address="address"><!-- address --></div>
|
||||
<div sg-address="address"><!-- address --></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pseudo-input-container" data-ng-show="card.note">
|
||||
<div class="pseudo-input-container" ng-show="card.note">
|
||||
<div class="key">
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="Note"/>
|
||||
</label>
|
||||
</div>
|
||||
<div class="pseudo-input-field">
|
||||
<div data-ng-bind-html="card.note"><!-- note --></div>
|
||||
<div ng-bind-html="card.note"><!-- note --></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
xmlns:const="http://www.skyrix.com/od/constant"
|
||||
xmlns:label="OGo:label"
|
||||
>
|
||||
<div class="filterPanel" data-search="contacts">
|
||||
<div class="filterPanel" search="contacts">
|
||||
<div class="menu" id="searchMenu">
|
||||
<ul id="searchOptions" class="choiceMenu">
|
||||
<li data-option="name_or_address"><var:string
|
||||
<li option="name_or_address"><var:string
|
||||
label:value="Name or Email"/></li>
|
||||
<li data-option="category"><var:string label:value="Category"/></li>
|
||||
<li data-option="organization"><var:string label:value="Organization"/></li>
|
||||
<li option="category"><var:string label:value="Category"/></li>
|
||||
<li option="organization"><var:string label:value="Organization"/></li>
|
||||
</ul>
|
||||
</div>
|
||||
<span class="searchBox" style="float: right;">
|
||||
|
||||
@@ -12,34 +12,34 @@
|
||||
<li class="title"><var:string label:value="Subscribe"/></li>
|
||||
<li class="search">
|
||||
<input type="text" label:placeholder="Search"
|
||||
data-ng-model="searchString"
|
||||
data-sg-user-typeahead="sg-user-typeahead" />
|
||||
ng-model="searchString"
|
||||
sg-user-typeahead="sg-user-typeahead" />
|
||||
</li>
|
||||
<li class="item"
|
||||
data-ng-repeat="user in users">
|
||||
<a data-ng-click="selectUser($index)"
|
||||
data-ng-mouseenter="selectActive($index)">
|
||||
<span data-bind-html-unsafe="user.$shortFormat() | typeaheadHighlight:query"><!-- user --></span>
|
||||
ng-repeat="user in users">
|
||||
<a ng-click="selectUser($index)"
|
||||
ng-mouseenter="selectActive($index)">
|
||||
<span bind-html-unsafe="user.$shortFormat() | typeaheadHighlight:query"><!-- user --></span>
|
||||
<i class="icon right"
|
||||
data-ng-class="{'icon-arrow-right': user.uid != selectedUser.uid, 'icon-arrow-down': user.uid == selectedUser.uid}"><!-- arrow --></i>
|
||||
ng-class="{'icon-arrow-right': user.uid != selectedUser.uid, 'icon-arrow-down': user.uid == selectedUser.uid}"><!-- arrow --></i>
|
||||
</a>
|
||||
<ul class="subitems"
|
||||
data-ng-if="user.uid == selectedUser.uid">
|
||||
ng-if="user.uid == selectedUser.uid">
|
||||
<li class="item"
|
||||
data-ng-show="user.$$folders.length == 0">
|
||||
ng-show="user.$$folders.length == 0">
|
||||
<a class="disabled">
|
||||
<i class="icon icon-notification"><!-- no subscription --></i>
|
||||
<var:string label:value="No possible subscription"/>
|
||||
</a>
|
||||
</li>
|
||||
<li class="item"
|
||||
data-ng-repeat="folder in user.$$folders">
|
||||
ng-repeat="folder in user.$$folders">
|
||||
<a>
|
||||
<i class="icon"
|
||||
data-ng-class="{'icon-address-book': folder.type == 'Contact'}"><!-- type --></i>
|
||||
<span data-ng-bind="folder.displayName"><!-- folder --></span>
|
||||
ng-class="{'icon-address-book': folder.type == 'Contact'}"><!-- type --></i>
|
||||
<span ng-bind="folder.displayName"><!-- folder --></span>
|
||||
<button class="button tiny right"
|
||||
data-ng-click="selectFolder(folder)">Subscribe</button>
|
||||
ng-click="selectFolder(folder)">Subscribe</button>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -11,36 +11,36 @@
|
||||
<li>
|
||||
<label>
|
||||
<input type="checkbox" name="canViewObjects"
|
||||
data-ng-checked="selectedUser.rights.canViewObjects"
|
||||
data-ng-model="selectedUser.rights.canViewObjects"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.canViewObjects"
|
||||
ng-model="selectedUser.rights.canViewObjects"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="This person can read the cards of this addressbook." />
|
||||
</label>
|
||||
</li>
|
||||
<li data-ng-hide="selectedUser.$isAnonymous()">
|
||||
<li ng-hide="selectedUser.$isAnonymous()">
|
||||
<label>
|
||||
<input type="checkbox" name="canCreateObjects"
|
||||
data-ng-checked="selectedUser.rights.canCreateObjects"
|
||||
data-ng-model="selectedUser.rights.canCreateObjects"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.canCreateObjects"
|
||||
ng-model="selectedUser.rights.canCreateObjects"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="This person can add cards to this addressbook." />
|
||||
</label>
|
||||
</li>
|
||||
<li data-ng-hide="selectedUser.$isAnonymous()">
|
||||
<li ng-hide="selectedUser.$isAnonymous()">
|
||||
<label>
|
||||
<input type="checkbox" name="canEditObjects"
|
||||
data-ng-checked="selectedUser.rights.canEditObjects"
|
||||
data-ng-model="selectedUser.rights.canEditObjects"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.canEditObjects"
|
||||
ng-model="selectedUser.rights.canEditObjects"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="This person can edit the cards of this addressbook." />
|
||||
</label>
|
||||
</li>
|
||||
<li data-ng-hide="selectedUser.$isAnonymous()">
|
||||
<li ng-hide="selectedUser.$isAnonymous()">
|
||||
<label>
|
||||
<input type="checkbox" name="canEraseObjects"
|
||||
data-ng-checked="selectedUser.rights.canEraseObjects"
|
||||
data-ng-model="selectedUser.rights.canEraseObjects"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.canEraseObjects"
|
||||
ng-model="selectedUser.rights.canEraseObjects"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="This person can erase cards from this addressbook." />
|
||||
</label>
|
||||
</li>
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
</label>
|
||||
<!--<div class="pseudo-input-field">-->
|
||||
<md-select name="from"
|
||||
data-ng-model="message.editable.from">
|
||||
<md-option ng-value="identity" data-ng-repeat="identity in identities">{{identity}}</md-option>
|
||||
ng-model="message.editable.from">
|
||||
<md-option ng-value="identity" ng-repeat="identity in identities">{{identity}}</md-option>
|
||||
</md-select>
|
||||
<!--</div>-->
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
ng-model="message.editable.to"
|
||||
label:placeholder="Add a recipient"
|
||||
ng-focus="angular.element().triggerHandler('focus')">
|
||||
<auto-complete data-source="userFilter($query)"><!-- to --></auto-complete>
|
||||
<auto-complete source="userFilter($query)"><!-- to --></auto-complete>
|
||||
</tags-input>
|
||||
|
||||
</div>
|
||||
@@ -43,7 +43,7 @@
|
||||
<tags-input type="text" name="cc"
|
||||
ng-model="message.editable.cc"
|
||||
label:placeholder="Add a recipient">
|
||||
<auto-complete data-source="userFilter($query)"><!-- to --></auto-complete>
|
||||
<auto-complete source="userFilter($query)"><!-- to --></auto-complete>
|
||||
</tags-input>
|
||||
</div>
|
||||
</div>
|
||||
@@ -61,8 +61,8 @@
|
||||
</label>
|
||||
<div class="pseudoInput-text">
|
||||
<input type="file"
|
||||
data-nv-file-select="nv-file-select"
|
||||
data-uploader="uploader"/>
|
||||
nv-file-select="nv-file-select"
|
||||
uploader="uploader"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -79,11 +79,11 @@
|
||||
<div class="buttonsToolbar">
|
||||
<div layout="row" layout-align="end center">
|
||||
<md-button
|
||||
data-ng-click="message.$save()">
|
||||
ng-click="message.$save()">
|
||||
<var:string label:value="Save"/>
|
||||
</md-button>
|
||||
<md-button class="fg-sogoBlue-700 md-primary md-hue-3"
|
||||
data-ng-click="send(message)">
|
||||
ng-click="send(message)">
|
||||
<var:string label:value="Send"/>
|
||||
</md-button>
|
||||
</div>
|
||||
|
||||
@@ -5,15 +5,15 @@
|
||||
xmlns:const="http://www.skyrix.com/od/constant"
|
||||
xmlns:label="OGo:label"
|
||||
>
|
||||
<div class="filterPanel" data-search="mail">
|
||||
<div class="filterPanel" search="mail">
|
||||
<div class="menu" id="searchMenu">
|
||||
<ul class="choiceMenu">
|
||||
<li data-option="subject"><var:string label:value="Subject"/></li>
|
||||
<li data-option="sender"><var:string label:value="Sender"/></li>
|
||||
<li data-option="subject_or_sender"><var:string
|
||||
<li option="subject"><var:string label:value="Subject"/></li>
|
||||
<li option="sender"><var:string label:value="Sender"/></li>
|
||||
<li option="subject_or_sender"><var:string
|
||||
label:value="Subject or Sender"/></li>
|
||||
<li data-option="to_or_cc"><var:string label:value="To or Cc"/></li>
|
||||
<li data-option="entire_message"><var:string
|
||||
<li option="to_or_cc"><var:string label:value="To or Cc"/></li>
|
||||
<li option="entire_message"><var:string
|
||||
label:value="Entire Message"/></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -12,24 +12,24 @@
|
||||
<h2 class="sg-md-subhead-solo fg-sogoBlue-700">Unread Messages</h2>
|
||||
</header>
|
||||
|
||||
<md-list data-vs-repeat="72"
|
||||
data-vs-scroll-parent="#messagesList">
|
||||
<md-list vs-repeat="72"
|
||||
vs-scroll-parent="#messagesList">
|
||||
<md-item ng-repeat="currentMessage in mailbox.$messages track by currentMessage.id"
|
||||
data-ng-class="{unread: !currentMessage.isread}">
|
||||
ng-class="{unread: !currentMessage.isread}">
|
||||
<md-item-content>
|
||||
<div class="md-tile-left">
|
||||
<!--avatar-->
|
||||
</div>
|
||||
<div class="sg-tile-content">
|
||||
<a data-ui-sref="mail.account.mailbox.message({accountId: account.id, mailboxId: (mailbox.path | encodeUri), messageId: currentMessage.uid})"
|
||||
data-ui-sref-active="_selected">
|
||||
<a ui-sref="mail.account.mailbox.message({accountId: account.id, mailboxId: (mailbox.path | encodeUri), messageId: currentMessage.uid})"
|
||||
ui-sref-active="_selected">
|
||||
<div class="sg-md-subhead-multi subject">
|
||||
{{currentMessage.subject}}
|
||||
</div>
|
||||
<span class="right msg-date" data-ng-bind-html="currentMessage.relativedate"><!-- date --></span>
|
||||
<span class="right msg-date" ng-bind-html="currentMessage.relativedate"><!-- date --></span>
|
||||
<div class="sg-md-body-multi name">{{currentMessage.$shortAddress('from')}}</div>
|
||||
<i class="icon-ion-refresh"
|
||||
data-ng-hide="mailbox.$loadMessage(currentMessage.uid)"><!-- loading --></i>
|
||||
ng-hide="mailbox.$loadMessage(currentMessage.uid)"><!-- loading --></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="sg-tile-icons">
|
||||
@@ -42,6 +42,6 @@
|
||||
</md-list>
|
||||
</md-content>
|
||||
|
||||
<div layout="column" data-ui-view="message"><!-- message view --></div>
|
||||
<div layout="column" ui-view="message"><!-- message view --></div>
|
||||
|
||||
</container>
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
<li><var:string label:value="None" /></li>
|
||||
<li> separator </li>
|
||||
<var:foreach list="availableLabels" item="currentLabel">
|
||||
<li var:class="currentLabel.name.asCSSIdentifier" var:data-name="currentLabel.name"> <var:string value="currentLabel.label"/></li>
|
||||
<li var:class="currentLabel.name.asCSSIdentifier" var:name="currentLabel.name"> <var:string value="currentLabel.label"/></li>
|
||||
</var:foreach>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -232,30 +232,30 @@
|
||||
<!-- TEMPLATE SCRIPT WRAPPER -->
|
||||
<script type = "text/ng-template" id="UIxMailMainFrame">
|
||||
<!-- dropdown menu for mailbox options button -->
|
||||
<div id="folderProperties" class ="f-dropdown icons-dropdown" data-dropdown-content="dropdown-content">
|
||||
<div id="folderProperties" class ="f-dropdown icons-dropdown" dropdown-content="dropdown-content">
|
||||
<ul class = "button-group">
|
||||
<li data-ng-show = "currentFolder.isEditable">
|
||||
<span class = "button" data-ng-click = "editFolder(currentFolder)">
|
||||
<li ng-show = "currentFolder.isEditable">
|
||||
<span class = "button" ng-click = "editFolder(currentFolder)">
|
||||
<i class = "icon-pencil"><!-- rename --></i>
|
||||
</span>
|
||||
</li>
|
||||
<li data-ng-show = "currentFolder.isEditable">
|
||||
<span class = "button" data-ng-click = "newFolder(currentFolder)">
|
||||
<li ng-show = "currentFolder.isEditable">
|
||||
<span class = "button" ng-click = "newFolder(currentFolder)">
|
||||
<i class = "icon-plus"><!-- new mailbox --></i>
|
||||
</span>
|
||||
</li>
|
||||
<li data-ng-show = "currentFolder.isEditable">
|
||||
<span class = "button" data-ng-click = "share()">
|
||||
<li ng-show = "currentFolder.isEditable">
|
||||
<span class = "button" ng-click = "share()">
|
||||
<i class = "icon-earth"><!-- share --></i>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class = "button" data-ng-click = "exportMails()">
|
||||
<span class = "button" ng-click = "exportMails()">
|
||||
<i class = "icon-ion-ios7-upload-outline"><!-- export --></i>
|
||||
</span>
|
||||
</li>
|
||||
<li data-ng-show = "currentFolder.isEditable">
|
||||
<span class = "button" data-ng-click = "confirmDelete()">
|
||||
<li ng-show = "currentFolder.isEditable">
|
||||
<span class = "button" ng-click = "confirmDelete()">
|
||||
<i class = "icon-trash"><!-- delete --></i>
|
||||
</span>
|
||||
</li>
|
||||
@@ -282,7 +282,7 @@
|
||||
</div>
|
||||
</md-item-content>
|
||||
</md-item>
|
||||
<sg-folder-tree data-ng-repeat="folder in account.$mailboxes track by folder.id" data-sg-root="account" data-sg-folder="folder" data-sg-select-folder="setCurrentFolder"><!-- tree --></sg-folder-tree>
|
||||
<sg-folder-tree ng-repeat="folder in account.$mailboxes track by folder.id" sg-root="account" sg-folder="folder" sg-select-folder="setCurrentFolder"><!-- tree --></sg-folder-tree>
|
||||
</md-list>
|
||||
</md-content>
|
||||
</md-sidenav>
|
||||
|
||||
@@ -11,63 +11,63 @@
|
||||
<li>
|
||||
<label>
|
||||
<input type="checkbox"
|
||||
data-ng-checked="selectedUser.rights.userCanReadMails"
|
||||
data-ng-model="selectedUser.rights.userCanReadMails"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.userCanReadMails"
|
||||
ng-model="selectedUser.rights.userCanReadMails"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="Read mails from this folder" />
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input type="checkbox" name="userCanMarkMailsRead"
|
||||
data-ng-checked="selectedUser.rights.userCanMarkMailsRead"
|
||||
data-ng-model="selectedUser.rights.userCanMarkMailsRead"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.userCanMarkMailsRead"
|
||||
ng-model="selectedUser.rights.userCanMarkMailsRead"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="Mark mails read and unread" />
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input type="checkbox" name="userCanWriteMails"
|
||||
data-ng-checked="selectedUser.rights.userCanWriteMails"
|
||||
data-ng-model="selectedUser.rights.userCanWriteMails"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.userCanWriteMails"
|
||||
ng-model="selectedUser.rights.userCanWriteMails"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="Modify the flags of the mails in this folder" />
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input type="checkbox" name="userCanInsertMails"
|
||||
data-ng-checked="selectedUser.rights.userCanInsertMails"
|
||||
data-ng-model="selectedUser.rights.userCanInsertMails"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.userCanInsertMails"
|
||||
ng-model="selectedUser.rights.userCanInsertMails"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="Insert, copy and move mails into this folder" />
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input type="checkbox" name="userCanPostMails"
|
||||
data-ng-checked="selectedUser.rights.userCanPostMails"
|
||||
data-ng-model="selectedUser.rights.userCanPostMails"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.userCanPostMails"
|
||||
ng-model="selectedUser.rights.userCanPostMails"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="Post mails" />
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input type="checkbox" name="userCanCreateSubfolders"
|
||||
data-ng-checked="selectedUser.rights.userCanCreateSubfolders"
|
||||
data-ng-model="selectedUser.rights.userCanCreateSubfolders"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.userCanCreateSubfolders"
|
||||
ng-model="selectedUser.rights.userCanCreateSubfolders"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="Add subfolders to this folder" />
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input type="checkbox" name="userCanEraseMails"
|
||||
data-ng-checked="selectedUser.rights.userCanEraseMails"
|
||||
data-ng-model="selectedUser.rights.userCanEraseMails"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.userCanEraseMails"
|
||||
ng-model="selectedUser.rights.userCanEraseMails"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="Erase mails from this folder" />
|
||||
</label>
|
||||
</li>
|
||||
@@ -75,18 +75,18 @@
|
||||
<li>
|
||||
<label>
|
||||
<input type="checkbox" name="userCanRemoveFolder"
|
||||
data-ng-checked="selectedUser.rights.userCanRemoveFolder"
|
||||
data-ng-model="selectedUser.rights.userCanRemoveFolder"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.userCanRemoveFolder"
|
||||
ng-model="selectedUser.rights.userCanRemoveFolder"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="Remove this folder" />
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input type="checkbox" name="userCanExpungeFolder"
|
||||
data-ng-checked="selectedUser.rights.userCanExpungeFolder"
|
||||
data-ng-model="selectedUser.rights.userCanExpungeFolder"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.userCanExpungeFolder"
|
||||
ng-model="selectedUser.rights.userCanExpungeFolder"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="Expunge this folder" />
|
||||
</label>
|
||||
</li>
|
||||
@@ -94,9 +94,9 @@
|
||||
<li>
|
||||
<label>
|
||||
<input type="checkbox" name="userIsAdministrator"
|
||||
data-ng-checked="selectedUser.rights.userIsAdministrator"
|
||||
data-ng-model="selectedUser.rights.userIsAdministrator"
|
||||
data-ng-change="confirmChange(selectedUser)" />
|
||||
ng-checked="selectedUser.rights.userIsAdministrator"
|
||||
ng-model="selectedUser.rights.userIsAdministrator"
|
||||
ng-change="confirmChange(selectedUser)" />
|
||||
<var:string label:value="Modify the acl of this folder" />
|
||||
</label>
|
||||
</li>
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
<header class="msg-header">
|
||||
|
||||
<div class="msg-header-content">
|
||||
<h3 class="sg-md-title-msg" data-ng-bind="message.subject"><!-- subject --></h3>
|
||||
<h3 class="sg-md-title-msg" ng-bind="message.subject"><!-- subject --></h3>
|
||||
<div class="pseudo-input-container--compact">
|
||||
<label class="pseudo-input-label">
|
||||
<var:string label:value="From"/>
|
||||
</label>
|
||||
<div class="pseudo-input-field">
|
||||
<a data-ng-href="mailto:{{message.from[0].email}}" data-ng-bind="message.from[0].full"><!-- from --></a>
|
||||
<a ng-href="mailto:{{message.from[0].email}}" ng-bind="message.from[0].full"><!-- from --></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -26,42 +26,42 @@
|
||||
<var:string label:value="To"/>
|
||||
</label>
|
||||
<div class="pseudo-input-field">
|
||||
<a data-ng-href="mailto:{{message.to[0].email}}" data-ng-bind="message.to[0].full"><!-- to --></a>
|
||||
<a ng-href="mailto:{{message.to[0].email}}" ng-bind="message.to[0].full"><!-- to --></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <p class="flags">
|
||||
<!– Todo: change the text for an icon (conditional ?) The read/unread flag doesn't make sense at his place–>
|
||||
<span class="pseudo-input-label" data-ng-repeat="flag in message.flags">{{flag}}</span>
|
||||
<span class="pseudo-input-label" ng-repeat="flag in message.flags">{{flag}}</span>
|
||||
</p>
|
||||
-->
|
||||
|
||||
<div class="sg-icon-bar">
|
||||
<a class="button tiny radius"
|
||||
data-ui-sref="mail.account.mailbox.message.action({accountId: account.id, mailboxId: (mailbox.path | encodeUri), messageId: message.uid, actionName: 'reply'})"><i class="md-icon-reply"><!-- reply --></i></a>
|
||||
ui-sref="mail.account.mailbox.message.action({accountId: account.id, mailboxId: (mailbox.path | encodeUri), messageId: message.uid, actionName: 'reply'})"><i class="md-icon-reply"><!-- reply --></i></a>
|
||||
<a class="button tiny radius"
|
||||
data-ui-sref="mail.account.mailbox.message.action({accountId: account.id, mailboxId: (mailbox.path | encodeUri), messageId: message.uid, actionName: 'replyall'})"><i class="md-icon-reply-all"><!-- reply all --></i></a>
|
||||
ui-sref="mail.account.mailbox.message.action({accountId: account.id, mailboxId: (mailbox.path | encodeUri), messageId: message.uid, actionName: 'replyall'})"><i class="md-icon-reply-all"><!-- reply all --></i></a>
|
||||
<a class="button tiny radius"
|
||||
data-ui-sref="mail.account.mailbox.message.action({accountId: account.id, mailboxId: (mailbox.path | encodeUri), messageId: message.uid, actionName: 'forward'})"><i class="md-icon-forward"><!-- forward --></i></a>
|
||||
ui-sref="mail.account.mailbox.message.action({accountId: account.id, mailboxId: (mailbox.path | encodeUri), messageId: message.uid, actionName: 'forward'})"><i class="md-icon-forward"><!-- forward --></i></a>
|
||||
<a class="button tiny radius"
|
||||
data-ui-sref="mail.account.mailbox.message.edit({accountId: account.id, mailboxId: (mailbox.path | encodeUri), messageId: message.uid})"
|
||||
data-ng-show="message.isDraft"><i class="md-icon-create"><!-- edit --></i></a>
|
||||
ui-sref="mail.account.mailbox.message.edit({accountId: account.id, mailboxId: (mailbox.path | encodeUri), messageId: message.uid})"
|
||||
ng-show="message.isDraft"><i class="md-icon-create"><!-- edit --></i></a>
|
||||
<span class="button tiny radius alert"
|
||||
data-ng-click="doDelete(message)"><i class="md-icon-delete"><!-- delete --></i></span>
|
||||
ng-click="doDelete(message)"><i class="md-icon-delete"><!-- delete --></i></span>
|
||||
<span class="button tiny radius"
|
||||
data-ng-show="message.hasUnsafeContent"
|
||||
data-ng-click="loadImages()"><var:string label:value="Load Images"/></span>
|
||||
ng-show="message.hasUnsafeContent"
|
||||
ng-click="loadImages()"><var:string label:value="Load Images"/></span>
|
||||
</div>
|
||||
</header>
|
||||
<md-divider><!-- divider --></md-divider>
|
||||
|
||||
<div class="msg-body">
|
||||
<div class="msg-date sg-md-body-multi">
|
||||
<time datetime="message.date" data-ng-bind="message.date"><!-- date --></time>
|
||||
<time datetime="message.date" ng-bind="message.date"><!-- date --></time>
|
||||
</div>
|
||||
<div class="mailer_mailcontent"
|
||||
data-ng-bind-html="message.$content()"><!-- msg --></div>
|
||||
ng-bind-html="message.$content()"><!-- msg --></div>
|
||||
</div>
|
||||
|
||||
</md-content>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
-->
|
||||
<main class="view md-layout-fill md-layout-padding" ui-view="login" layout="row" layout-align="center start">
|
||||
<md-content class="md-padding" md-scroll-y="true">
|
||||
<div data-ng-controller="loginController">
|
||||
<div ng-controller="loginController">
|
||||
|
||||
<script type="text/javascript">
|
||||
var cookieUsername = '<var:string var:value="cookieUsername" const:escapeHTML="NO"/>';
|
||||
@@ -46,18 +46,18 @@
|
||||
<div id="logo">
|
||||
<img const:alt="*" id="splash" rsrc:src="img/sogo-full.svg"/>
|
||||
</div>
|
||||
<form name="loginForm" layout="column" data-ng-controller="loginController" data-ng-submit="login(creds)">
|
||||
<var:if condition="hasLoginSuffix"><input type="hidden" data-ng-model="creds.loginSuffix" var:value="loginSuffix"/></var:if>
|
||||
<div data-ng-show="warning" data-ng-cloak="ng-cloak" data-alert="data-alert" class="alert-box radius warning">{{warning}}</div>
|
||||
<form name="loginForm" layout="column" ng-controller="loginController" ng-submit="login(creds)">
|
||||
<var:if condition="hasLoginSuffix"><input type="hidden" ng-model="creds.loginSuffix" var:value="loginSuffix"/></var:if>
|
||||
<div ng-show="warning" ng-cloak="ng-cloak" alert="alert" class="alert-box radius warning">{{warning}}</div>
|
||||
<md-input-container>
|
||||
<label><var:string label:value="Username:"/>
|
||||
</label>
|
||||
<input type="text" data-ng-model="creds.username" required="required" />
|
||||
<input type="text" ng-model="creds.username" required="required" />
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<label><var:string label:value="Password:"/>
|
||||
</label>
|
||||
<input type="password" data-ng-model="creds.password" required="required" />
|
||||
<input type="password" ng-model="creds.password" required="required" />
|
||||
</md-input-container>
|
||||
|
||||
<label><var:string label:value="Language:"/>
|
||||
@@ -74,7 +74,7 @@
|
||||
<var:if condition="hasLoginDomains">
|
||||
<label><var:string label:value="Domain:"/><br/>
|
||||
<var:popup const:name="domain"
|
||||
const:data-ng-model="creds.domain"
|
||||
const:ng-model="creds.domain"
|
||||
list="loginDomains"
|
||||
item="item"
|
||||
var:selection="item"
|
||||
@@ -84,14 +84,14 @@
|
||||
</label>
|
||||
</var:if>
|
||||
<!--
|
||||
<md-checkbox data-ng-model="creds.rememberLogin">
|
||||
<md-checkbox ng-model="creds.rememberLogin">
|
||||
<label><var:string label:value="Remember username"/></label>
|
||||
</md-checkbox> -->
|
||||
<!-- <label> -->
|
||||
<md-button type="submit" class="md-raised md-primary" data-ng-disabled='!loginForm.$valid'>
|
||||
<md-button type="submit" class="md-raised md-primary" ng-disabled='!loginForm.$valid'>
|
||||
<var:string label:value="Connect" /></md-button>
|
||||
<!-- </label> -->
|
||||
<md-switch data-ng-model="creds.rememberLogin">
|
||||
<md-switch ng-model="creds.rememberLogin">
|
||||
<var:string label:value="Remember username"/>
|
||||
</md-switch>
|
||||
<label id="animation"><!-- busy.gif! --></label>
|
||||
|
||||
@@ -16,16 +16,16 @@
|
||||
<!--
|
||||
<div id="mainMenu">
|
||||
<ul>
|
||||
<li data-ng-class="{_selected: $state.is('general')}" data-ui-sref="general">
|
||||
<li ng-class="{_selected: $state.is('general')}" ui-sref="general">
|
||||
<i class="icon-cog"> </i><var:string label:value="General" /></li>
|
||||
<var:if condition="userHasCalendarAccess">
|
||||
<li data-ng-class="{_selected: state.is('calendars')}" data-ui-sref="calendars">
|
||||
<li ng-class="{_selected: state.is('calendars')}" ui-sref="calendars">
|
||||
<i class="icon-calendar2"> </i><var:string label:value="Calendars" /></li>
|
||||
</var:if>
|
||||
<li data-ng-class="{_selected: state.is('addressbooks')}" data-ui-sref="addressbooks">
|
||||
<li ng-class="{_selected: state.is('addressbooks')}" ui-sref="addressbooks">
|
||||
<i class="icon-address-book"> </i><var:string label:value="Address Book" /></li>
|
||||
<var:if condition="userHasMailAccess">
|
||||
<li data-ng-class="{_selected: state.is('mailer')}" data-ui-sref="mailer">
|
||||
<li ng-class="{_selected: state.is('mailer')}" ui-sref="mailer">
|
||||
<i class="icon-mail3"> </i><var:string label:value="Mailer" /></li>
|
||||
</var:if>
|
||||
</ul>
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
<!--
|
||||
<div id="container">
|
||||
<div id="viewer" data-ui-view="preferences"> </div>
|
||||
<div id="viewer" ui-view="preferences"> </div>
|
||||
</div>
|
||||
-->
|
||||
<section layout="row" flex="flex">
|
||||
@@ -106,7 +106,7 @@
|
||||
|
||||
<script type="text/ng-template" id="preferences.html">
|
||||
<form name="preferencesForm"
|
||||
data-ng-submit="save()">
|
||||
ng-submit="save()">
|
||||
<div ui-view="module"><!-- view --></div>
|
||||
<md-button class="button tiny radius" type="submit">
|
||||
<var:string label:value="Save" />
|
||||
@@ -847,7 +847,7 @@
|
||||
|
||||
<div class="value">
|
||||
<p class="PseudoField-inputLike--underline">
|
||||
<input type="date" data-ng-model="preferences.defaults.Vacation.endDate"/>
|
||||
<input type="date" ng-model="preferences.defaults.Vacation.endDate"/>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<var:if condition="isMultiColumnView">
|
||||
<div class="calendarLabels">
|
||||
<var:foreach list="calendarsToDisplay" item="currentCalendar">
|
||||
<div class="calendarsToDisplay" var:data-folder="currentCalendar.folder">
|
||||
<div class="calendarsToDisplay" var:folder="currentCalendar.folder">
|
||||
<var:string value="labelForCalendar"/>
|
||||
</div>
|
||||
</var:foreach>
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
xmlns:const="http://www.skyrix.com/od/constant"
|
||||
xmlns:label="OGo:label">
|
||||
|
||||
<div class="filterPanel" data-search="events">
|
||||
<div class="filterPanel" search="events">
|
||||
<div class="menu" id="eventSearchMenu">
|
||||
<ul class="choiceMenu">
|
||||
<li data-option="title"><var:string label:value="Title"/></li>
|
||||
<li data-option="title_Category_Location"><var:string label:value="Title, category or location"/></li>
|
||||
<li data-option="entireContent"><var:string label:value="Entire content"/></li>
|
||||
<li option="title"><var:string label:value="Title"/></li>
|
||||
<li option="title_Category_Location"><var:string label:value="Title, category or location"/></li>
|
||||
<li option="entireContent"><var:string label:value="Entire content"/></li>
|
||||
</ul>
|
||||
</div>
|
||||
<span class="searchBox" style="float: right">
|
||||
|
||||
@@ -174,12 +174,12 @@
|
||||
</table>
|
||||
</div>
|
||||
<div id="tasksListView" class="tab">
|
||||
<div class="filterPanel" data-search="tasks">
|
||||
<div class="filterPanel" search="tasks">
|
||||
<div class="menu" id="taskSearchMenu">
|
||||
<ul class="choiceMenu">
|
||||
<li data-option="title"><var:string label:value="Title"/></li>
|
||||
<li data-option="title_Category_Location"><var:string label:value="Title, category or location"/></li>
|
||||
<li data-option="entireContent"><var:string label:value="Entire content"/></li>
|
||||
<li option="title"><var:string label:value="Title"/></li>
|
||||
<li option="title_Category_Location"><var:string label:value="Title, category or location"/></li>
|
||||
<li option="entireContent"><var:string label:value="Entire content"/></li>
|
||||
</ul>
|
||||
</div>
|
||||
<span class="searchBox" style="float: right">
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
/></span></div>
|
||||
<div><span class="label"><var:string label:value="Color:"/></span
|
||||
><span class="content"
|
||||
><div id="colorButton" class="colorBox" var:data-color="calendarColor"><!-- space --></div
|
||||
><div id="colorButton" class="colorBox" var:color="calendarColor"><!-- space --></div
|
||||
><input type="hidden" name="calendarColor" id="calendarColor" var:value="calendarColor"
|
||||
/></span></div>
|
||||
<div
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
{ background-color: <var:string value="currentCalendar.color" />; color: <var:string value="contrastingTextColor" />; }
|
||||
div.colorBox.calendarFolder<var:string value="currentCalendar.folder" />
|
||||
{ color: <var:string value="currentCalendar.color" />; }
|
||||
.calendarLabels [data-folder='<var:string value="currentCalendar.folder" />']
|
||||
.calendarLabels [folder='<var:string value="currentCalendar.folder" />']
|
||||
{ border-color: <var:string value="currentCalendar.color" />; }
|
||||
</var:foreach>
|
||||
</style>
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
xmlns:const="http://www.skyrix.com/od/constant"
|
||||
xmlns:rsrc="OGo:url"
|
||||
class="datePicker date"
|
||||
var:data-date-format="jsDateFormat"
|
||||
var:data-date-weekstart="jsWeekStart"
|
||||
var:date-format="jsDateFormat"
|
||||
var:date-weekstart="jsWeekStart"
|
||||
><input type="text"
|
||||
var:disabled="disabled"
|
||||
class="textField"
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
</var:foreach>
|
||||
</head>
|
||||
|
||||
<body var:data-ng-app="angularModule">
|
||||
<body var:ng-app="angularModule">
|
||||
|
||||
<script type="text/ng-template" id="menu.html">
|
||||
<ion-side-menus>
|
||||
@@ -87,8 +87,8 @@
|
||||
<var:string label:value="Address Books"/>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<a class="button button-full button-assertive" href="#" data-ng-href="{{UserFolderURL}}logoff?theme=mobile"><var:string label:value="Disconnect"/></a>
|
||||
<a class="button button-small button-outline button-stable button-block" data-ng-href="{{ApplicationBaseURL}}"><var:string label:value="Desktop Version"/></a>
|
||||
<a class="button button-full button-assertive" href="#" ng-href="{{UserFolderURL}}logoff?theme=mobile"><var:string label:value="Disconnect"/></a>
|
||||
<a class="button button-small button-outline button-stable button-block" ng-href="{{ApplicationBaseURL}}"><var:string label:value="Desktop Version"/></a>
|
||||
</ion-content>
|
||||
</ion-side-menu>
|
||||
</ion-side-menus>
|
||||
|
||||
@@ -54,14 +54,14 @@
|
||||
<i class="icon ion-search placeholder-icon"><!-- search --></i>
|
||||
<input type="text"
|
||||
placeholder="Search"
|
||||
data-ng-model="search.filter"
|
||||
data-ng-keyup="doSearch($event)"/>
|
||||
ng-model="search.filter"
|
||||
ng-keyup="doSearch($event)"/>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list>
|
||||
<ion-item class="item-icon-right" option-buttons="buttons"
|
||||
data-ng-repeat="card in addressbook.cards"
|
||||
data-ui-sref="app.card({addressbookId: addressbook.id, cardId: card.c_name})">
|
||||
ng-repeat="card in addressbook.cards"
|
||||
ui-sref="app.card({addressbookId: addressbook.id, cardId: card.c_name})">
|
||||
{{card.c_cn || card.c_mail}}
|
||||
<i class="icon ion-ios7-arrow-right"><!-- right arrow icon --></i>
|
||||
</ion-item>
|
||||
@@ -73,21 +73,21 @@
|
||||
<script type="text/ng-template" id="card.html">
|
||||
<ion-view title="">
|
||||
<ion-nav-buttons side="right">
|
||||
<a class="button button-clear button-positive" data-ng-click="edit()"><var:string label:value="Edit"/></a>
|
||||
<a class="button button-clear button-positive" ng-click="edit()"><var:string label:value="Edit"/></a>
|
||||
</ion-nav-buttons>
|
||||
<ion-content padding="10" class="has-header">
|
||||
<h4 data-ng-bind-html="card.$fullname()"><!-- fullname --></h4>
|
||||
<h4 ng-bind-html="card.$fullname()"><!-- fullname --></h4>
|
||||
<p>
|
||||
{{card.$description()}}
|
||||
<span class="label" data-ng-repeat="category in card.categories">{{category.value}}</span>
|
||||
<span class="label" ng-repeat="category in card.categories">{{category.value}}</span>
|
||||
</p>
|
||||
<ion-list class="list-clear" data-ng-show="card.birthday">
|
||||
<ion-list class="list-clear" ng-show="card.birthday">
|
||||
<ion-item class="item-icon-right">
|
||||
<i class="icon ion-calendar"><!-- icon --></i>
|
||||
<small><var:string label:value="Birthday"/></small> {{card.$birthday() | date}}
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list class="list-clear" data-ng-show="card.refs.length > 0">
|
||||
<ion-list class="list-clear" ng-show="card.refs.length > 0">
|
||||
<ion-item ng-repeat="ref in card.refs"
|
||||
href="{{UserFolderURL}}Mail/Compose/{{ref.email}}"
|
||||
class="item-icon-right">
|
||||
@@ -95,7 +95,7 @@
|
||||
{{ref.fn || ref.email}}
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list class="list-clear" data-ng-show="card.emails">
|
||||
<ion-list class="list-clear" ng-show="card.emails">
|
||||
<ion-item ng-repeat="email in card.emails"
|
||||
href="{{UserFolderURL}}Mail/Compose/{{email.value}}"
|
||||
class="item-icon-right">
|
||||
@@ -103,7 +103,7 @@
|
||||
<small>{{email.type}}</small> {{email.value}}
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list class="list-clear" data-ng-show="card.phones">
|
||||
<ion-list class="list-clear" ng-show="card.phones">
|
||||
<ion-item ng-repeat="phone in card.phones"
|
||||
href="tel:{{phone.value}}"
|
||||
class="item-icon-right">
|
||||
@@ -111,7 +111,7 @@
|
||||
<small>{{phone.type}}</small> {{phone.value}}
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list class="list-clear" data-ng-show="card.urls">
|
||||
<ion-list class="list-clear" ng-show="card.urls">
|
||||
<ion-item ng-repeat="url in card.urls"
|
||||
href="{{url.value}}"
|
||||
class="item-icon-right">
|
||||
@@ -119,14 +119,14 @@
|
||||
<small>{{url.type}}</small> {{url.value}}
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list class="list-clear" data-ng-show="card.addresses">
|
||||
<ion-list class="list-clear" ng-show="card.addresses">
|
||||
<ion-item class="item-icon-right" ng-repeat="address in card.addresses">
|
||||
<i class="icon ion-location"><!-- icon --></i>
|
||||
<small>{{address.type}}</small>
|
||||
<address data-sg-address="address"><!-- address --></address>
|
||||
<address sg-address="address"><!-- address --></address>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list class="list-clear" data-ng-show="card.note">
|
||||
<ion-list class="list-clear" ng-show="card.note">
|
||||
<ion-item>
|
||||
<small><var:string label:value="note"/></small>
|
||||
{{card.note}}
|
||||
@@ -138,7 +138,7 @@
|
||||
|
||||
<script type="text/ng-template" id="cardEditor.html">
|
||||
<ion-modal-view>
|
||||
<form name="cardForm" data-ng-show="card.$isCard()">
|
||||
<form name="cardForm" ng-show="card.$isCard()">
|
||||
<ion-header-bar class="bar-positive">
|
||||
<button class="button button-clear" ng-click="cancel()"><var:string label:value="Cancel"/></button>
|
||||
<button class="button button-clear" ng-click="save(cardForm)"><var:string label:value="Save"/></button>
|
||||
@@ -167,13 +167,13 @@
|
||||
<ion-list class="list-clear">
|
||||
<ion-item ng-repeat="unit in card.orgUnits"
|
||||
class="item-input">
|
||||
<button class="button button-small button-assertive button-icon icon ion-minus-circled" data-ng-click="card.$delete('orgUnits', $index)"><!-- remove --></button>
|
||||
<button class="button button-small button-assertive button-icon icon ion-minus-circled" ng-click="card.$delete('orgUnits', $index)"><!-- remove --></button>
|
||||
<input type="text" label:placeholder="organization unit"
|
||||
ng-model="unit.value"/>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<button class="button button-small button-clear button-positive"
|
||||
data-ng-click="addOrgUnit()"><i class="icon ion-plus-circled"><!-- add --></i> <var:string label:value="Add Organizational Unit"/></button>
|
||||
ng-click="addOrgUnit()"><i class="icon ion-plus-circled"><!-- add --></i> <var:string label:value="Add Organizational Unit"/></button>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list class="list-clear">
|
||||
@@ -185,55 +185,55 @@
|
||||
<ion-list class="list-clear">
|
||||
<ion-item ng-repeat="category in card.categories"
|
||||
class="item-input">
|
||||
<button class="button button-small button-assertive button-icon icon ion-minus-circled" data-ng-click="card.$delete('categories', $index)"><!-- remove --></button>
|
||||
<button class="button button-small button-assertive button-icon icon ion-minus-circled" ng-click="card.$delete('categories', $index)"><!-- remove --></button>
|
||||
<input type="text" label:placeholder="category"
|
||||
ng-model="category.value"/>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<button class="button button-small button-clear button-positive"
|
||||
data-ng-click="addCategory()"><i class="icon ion-plus-circled"><!-- add --></i> <var:string label:value="Add Category"/></button>
|
||||
ng-click="addCategory()"><i class="icon ion-plus-circled"><!-- add --></i> <var:string label:value="Add Category"/></button>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list class="list-clear">
|
||||
<ion-item ng-repeat="email in card.emails"
|
||||
class="item-input item-select">
|
||||
<button class="button button-small button-assertive button-icon icon ion-minus-circled" data-ng-click="card.$delete('emails', $index)"><!-- remove --></button>
|
||||
<button class="button button-small button-assertive button-icon icon ion-minus-circled" ng-click="card.$delete('emails', $index)"><!-- remove --></button>
|
||||
<input type="text" label:placeholder="email address"
|
||||
ng-model="email.value"/>
|
||||
<select data-ng-model="email.type"
|
||||
data-ng-options="type for type in allEmailTypes"><!-- email types --></select>
|
||||
<select ng-model="email.type"
|
||||
ng-options="type for type in allEmailTypes"><!-- email types --></select>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<button class="button button-small button-clear button-positive"
|
||||
data-ng-click="addEmail()"><i class="icon ion-plus-circled"><!-- add --></i> <var:string label:value="Add Email Address"/></button>
|
||||
ng-click="addEmail()"><i class="icon ion-plus-circled"><!-- add --></i> <var:string label:value="Add Email Address"/></button>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list class="list-clear">
|
||||
<ion-item ng-repeat="phone in card.phones"
|
||||
class="item-input item-select">
|
||||
<button class="button button-small button-assertive button-icon icon ion-minus-circled" data-ng-click="card.$delete('phones', $index)"><!-- remove --></button>
|
||||
<button class="button button-small button-assertive button-icon icon ion-minus-circled" ng-click="card.$delete('phones', $index)"><!-- remove --></button>
|
||||
<input type="text" label:placeholder="phone number"
|
||||
ng-model="phone.value"/>
|
||||
<select data-ng-model="phone.type"
|
||||
data-ng-options="type for type in allPhoneTypes"><!-- phone types --></select>
|
||||
<select ng-model="phone.type"
|
||||
ng-options="type for type in allPhoneTypes"><!-- phone types --></select>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<button class="button button-small button-clear button-positive"
|
||||
data-ng-click="addPhone()"><i class="icon ion-plus-circled"><!-- add --></i> <var:string label:value="Add Phone Number"/></button>
|
||||
ng-click="addPhone()"><i class="icon ion-plus-circled"><!-- add --></i> <var:string label:value="Add Phone Number"/></button>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list class="list-clear">
|
||||
<ion-item ng-repeat="url in card.urls"
|
||||
class="item-input item-select">
|
||||
<button class="button button-small button-assertive button-icon icon ion-minus-circled"
|
||||
data-ng-click="card.$delete('urls', $index)"><!-- remove --></button>
|
||||
ng-click="card.$delete('urls', $index)"><!-- remove --></button>
|
||||
<input type="text" label:placeholder="URL"
|
||||
ng-model="url.value"/>
|
||||
<select data-ng-model="url.type"
|
||||
data-ng-options="type for type in allUrlTypes"><!-- url types --></select>
|
||||
<select ng-model="url.type"
|
||||
ng-options="type for type in allUrlTypes"><!-- url types --></select>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<button class="button button-small button-clear button-positive" data-ng-click="addUrl()">
|
||||
<button class="button button-small button-clear button-positive" ng-click="addUrl()">
|
||||
<i class="icon ion-plus-circled"><!-- add --></i> <var:string label:value="Add URL"/>
|
||||
</button>
|
||||
</ion-item>
|
||||
@@ -242,38 +242,38 @@
|
||||
ng-repeat="address in card.addresses">
|
||||
<ion-item class="item-input">
|
||||
<button class="button button-small button-assertive button-icon icon ion-minus-circled"
|
||||
data-ng-click="card.$delete('addresses', $index)"><!-- remove --></button>
|
||||
ng-click="card.$delete('addresses', $index)"><!-- remove --></button>
|
||||
<ion-list class="list-address">
|
||||
<ion-item class="item-input">
|
||||
<input type="text" label:placeholder="street" data-ng-model="address.street"/>
|
||||
<input type="text" label:placeholder="street" ng-model="address.street"/>
|
||||
</ion-item>
|
||||
<ion-item class="item-input">
|
||||
<input type="text" label:placeholder="street" data-ng-model="address.street2"/>
|
||||
<input type="text" label:placeholder="street" ng-model="address.street2"/>
|
||||
</ion-item>
|
||||
<ion-item class="item-input item-select">
|
||||
<input type="text" label:placeholder="Postoffice" data-ng-model="address.postoffice"/>
|
||||
<select data-ng-model="address.type"
|
||||
data-ng-options="type for type in allAddressTypes"><!-- address types --></select>
|
||||
<input type="text" label:placeholder="Postoffice" ng-model="address.postoffice"/>
|
||||
<select ng-model="address.type"
|
||||
ng-options="type for type in allAddressTypes"><!-- address types --></select>
|
||||
</ion-item>
|
||||
<ion-item class="item-input">
|
||||
<input type="text" label:placeholder="City" data-ng-model="address.locality"/>
|
||||
<input type="text" label:placeholder="Region" data-ng-model="address.region"/>
|
||||
<input type="text" label:placeholder="City" ng-model="address.locality"/>
|
||||
<input type="text" label:placeholder="Region" ng-model="address.region"/>
|
||||
</ion-item>
|
||||
<ion-item class="item-input">
|
||||
<input type="text" label:placeholder="Country" data-ng-model="address.country"/>
|
||||
<input type="text" label:placeholder="Postal Code" data-ng-model="address.postalcode"/>
|
||||
<input type="text" label:placeholder="Country" ng-model="address.country"/>
|
||||
<input type="text" label:placeholder="Postal Code" ng-model="address.postalcode"/>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<button class="button button-small button-clear button-positive" data-ng-click="addAddress()">
|
||||
<button class="button button-small button-clear button-positive" ng-click="addAddress()">
|
||||
<i class="icon ion-plus-circled"><!-- add --></i> <var:string label:value="Add Address"/>
|
||||
</button>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list class="list-clear">
|
||||
<ion-item class="item-input">
|
||||
<input type="text" label:placeholder="Note" data-ng-model="card.note"/>
|
||||
<input type="text" label:placeholder="Note" ng-model="card.note"/>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<button class="button button-block button-assertive"
|
||||
@@ -281,7 +281,7 @@
|
||||
ng-click="confirmDelete(card)"><var:string label:value="Delete"/></button>
|
||||
</ion-content>
|
||||
</form>
|
||||
<form name="listForm" data-ng-show="card.$isList()">
|
||||
<form name="listForm" ng-show="card.$isList()">
|
||||
<ion-header-bar class="bar-positive">
|
||||
<button class="button button-clear" ng-click="cancel()"><var:string label:value="Cancel"/></button>
|
||||
<button class="button button-clear" ng-click="save(listForm)"><var:string label:value="Save" /></button>
|
||||
@@ -309,14 +309,14 @@
|
||||
<div id="search-box" class="item-input-inset">
|
||||
<div class="item-input-wrapper">
|
||||
<i class="icon ion-search placeholder-icon"></i>
|
||||
<input type="text" label:placeholder="Search" data-ng-model="search.query" data-ng-keyup="showPopOver($event)" />
|
||||
<input type="text" label:placeholder="Search" ng-model="search.query" ng-keyup="showPopOver($event)" />
|
||||
<i ng-show="search.query" class="clear-search icon ion-ios7-close-empty" ng-click="resetSearch()"><!-- spacer --></i>
|
||||
</div>
|
||||
</div>
|
||||
<ion-list class="list-clear">
|
||||
<ion-item ng-repeat="ref in card.refs" class="item-input">
|
||||
<button class="button button-small button-assertive button-icon icon ion-minus-circled"
|
||||
data-ng-click="card.$delete('refs', $index)"><!-- remove --></button>
|
||||
ng-click="card.$delete('refs', $index)"><!-- remove --></button>
|
||||
<span>{{ref.$shortFormat()}}</span>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
@@ -342,15 +342,15 @@
|
||||
<script type="text/ng-template" id="acl-modal.html">
|
||||
<ion-modal-view>
|
||||
<ion-header-bar class="bar-positive">
|
||||
<div class="buttons" data-ng-hide="search.active">
|
||||
<button class="button button-icon" data-ng-click="closeModal()"><var:string label:value="Close"/></button>
|
||||
<div class="buttons" ng-hide="search.active">
|
||||
<button class="button button-icon" ng-click="closeModal()"><var:string label:value="Close"/></button>
|
||||
</div>
|
||||
<div class="buttons" data-ng-show="search.active">
|
||||
<button class="button button-icon" data-ng-click="cancelSearch()"><var:string label:value="Back"/></button>
|
||||
<div class="buttons" ng-show="search.active">
|
||||
<button class="button button-icon" ng-click="cancelSearch()"><var:string label:value="Back"/></button>
|
||||
</div>
|
||||
<h1 class="title">{{title}}</h1>
|
||||
<div class="buttons">
|
||||
<button class="button button-icon" data-ng-click="saveModal()"><var:string label:value="Save"/></button>
|
||||
<button class="button button-icon" ng-click="saveModal()"><var:string label:value="Save"/></button>
|
||||
</div>
|
||||
</ion-header-bar>
|
||||
<ion-content>
|
||||
@@ -363,7 +363,7 @@
|
||||
<i class="icon"
|
||||
ng-class="(user.userClass == 'public-user') ? 'ion-ios7-people' : 'ion-ios7-person'"><!-- spacer --></i>
|
||||
{{user.$shortFormat()}}
|
||||
<i class="icon" data-ng-class="displayIcon(user)"><!-- spacer --></i>
|
||||
<i class="icon" ng-class="displayIcon(user)"><!-- spacer --></i>
|
||||
<ion-delete-button class="ion-minus-circled"
|
||||
ng-disabled="user.$isSpecial() || !user.inAclList"
|
||||
ng-click="removeUser(user)"></ion-delete-button>
|
||||
@@ -374,24 +374,24 @@
|
||||
ng-checked="selectedUser.isSubscribed"
|
||||
ng-disabled="selectedUser.wasSubscribed">
|
||||
<var:string label:value="Subscribe user"/></ion-toggle>
|
||||
<ion-checkbox data-ng-hide="selectedUser.$isAnonymous()"
|
||||
data-ng-checked="selectedUser.rights.canCreateObjects"
|
||||
data-ng-model="selectedUser.rights.canCreateObjects"
|
||||
data-ng-change="confirmChange(selectedUser)">
|
||||
<ion-checkbox ng-hide="selectedUser.$isAnonymous()"
|
||||
ng-checked="selectedUser.rights.canCreateObjects"
|
||||
ng-model="selectedUser.rights.canCreateObjects"
|
||||
ng-change="confirmChange(selectedUser)">
|
||||
<var:string label:value="This person can add cards to this addressbook."/></ion-checkbox>
|
||||
<ion-checkbox data-ng-hide="selectedUser.$isAnonymous()"
|
||||
data-ng-checked="selectedUser.rights.canEditObjects"
|
||||
data-ng-model="selectedUser.rights.canEditObjects"
|
||||
data-ng-change="confirmChange(selectedUser)">
|
||||
<ion-checkbox ng-hide="selectedUser.$isAnonymous()"
|
||||
ng-checked="selectedUser.rights.canEditObjects"
|
||||
ng-model="selectedUser.rights.canEditObjects"
|
||||
ng-change="confirmChange(selectedUser)">
|
||||
<var:string label:value="This person can edit the cards of this addressbook."/></ion-checkbox>
|
||||
<ion-checkbox data-ng-hide="selectedUser.$isAnonymous()"
|
||||
data-ng-checked="selectedUser.rights.canEraseObjects"
|
||||
data-ng-model="selectedUser.rights.canEraseObjects"
|
||||
data-ng-change="confirmChange(selectedUser)">
|
||||
<ion-checkbox ng-hide="selectedUser.$isAnonymous()"
|
||||
ng-checked="selectedUser.rights.canEraseObjects"
|
||||
ng-model="selectedUser.rights.canEraseObjects"
|
||||
ng-change="confirmChange(selectedUser)">
|
||||
<var:string label:value="This person can erase cards from this addressbook."/></ion-checkbox>
|
||||
<ion-checkbox data-ng-checked="selectedUser.rights.canViewObjects"
|
||||
data-ng-model="selectedUser.rights.canViewObjects"
|
||||
data-ng-change="confirmChange(selectedUser)">
|
||||
<ion-checkbox ng-checked="selectedUser.rights.canViewObjects"
|
||||
ng-model="selectedUser.rights.canViewObjects"
|
||||
ng-change="confirmChange(selectedUser)">
|
||||
<var:string label:value="This person can read the cards of this addressbook."/></ion-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -52,8 +52,8 @@
|
||||
<i class="icon ion-search placeholder-icon"><!-- search --></i>
|
||||
<input type="text"
|
||||
placeholder="Search"
|
||||
data-ng-model="search.filter"
|
||||
data-ng-keyup="doSearch($event)"/>
|
||||
ng-model="search.filter"
|
||||
ng-keyup="doSearch($event)"/>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list class="small">
|
||||
@@ -65,7 +65,7 @@
|
||||
<h2>{{currentMessage.$shortAddress('from')}}</h2>
|
||||
<p>{{currentMessage.subject}}</p>
|
||||
<i class="icon ion-looping"
|
||||
data-ng-hide="mailbox.$loadMessage(currentMessage.uid)"><!-- loading --></i>
|
||||
ng-hide="mailbox.$loadMessage(currentMessage.uid)"><!-- loading --></i>
|
||||
<i class="icon ion-ios7-arrow-right"><!-- right arrow icon --></i>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
@@ -80,13 +80,13 @@
|
||||
</ion-nav-buttons>
|
||||
<ion-content class="has-header" padding="10">
|
||||
<h5>{{message.subject}}</h5>
|
||||
<small><a data-ng-href="mailto:{{message.from[0].address}}">{{message.from[0].name}}</a>
|
||||
<small><a ng-href="mailto:{{message.from[0].address}}">{{message.from[0].name}}</a>
|
||||
-
|
||||
<a data-ng-href="mailto:{{message.to[0].address}}">{{message.to[0].name}}</a>
|
||||
<a ng-href="mailto:{{message.to[0].address}}">{{message.to[0].name}}</a>
|
||||
<br />
|
||||
{{message.date}}</small>
|
||||
<hr/>
|
||||
<div data-ng-bind-html="message.$content()"><!-- msg --></div>
|
||||
<div ng-bind-html="message.$content()"><!-- msg --></div>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
</script>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
title="name"
|
||||
var:popup="isPopup">
|
||||
|
||||
<body data-ng-app="SOGo.RootPage">
|
||||
<body ng-app="SOGo.RootPage">
|
||||
|
||||
<ion-nav-view><!-- main view --></ion-nav-view>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<p><var:string label:value="AboutBox" const:escapeHTML="NO"/></p>
|
||||
<img class="full-image" const:alt="Inverse" rsrc:src="img/inverse.png"/>
|
||||
<a class="button button-positive button-block button-clear" href="http://inverse.ca/" target="_new">inverse.ca</a>
|
||||
<a data-ng-href="{{ApplicationBaseURL}}?theme=desktop" class="button button-small button-outline button-stable button-block"><var:string label:value="Desktop Version"/></a>
|
||||
<a ng-href="{{ApplicationBaseURL}}?theme=desktop" class="button button-small button-outline button-stable button-block"><var:string label:value="Desktop Version"/></a>
|
||||
</ion-content>
|
||||
</ion-side-menu>
|
||||
</ion-side-menus>
|
||||
@@ -45,7 +45,7 @@
|
||||
<button menu-toggle="left" class="button button-icon icon ion-navicon"><!-- menu toggle --></button>
|
||||
</ion-nav-buttons>
|
||||
<ion-content class="has-header">
|
||||
<form name="loginForm" data-ng-submit="login(creds)">
|
||||
<form name="loginForm" ng-submit="login(creds)">
|
||||
<ion-list>
|
||||
<ion-item class="item-input item-floating-label">
|
||||
<span class="input-label"><var:string label:value="Username"/></span>
|
||||
@@ -58,7 +58,7 @@
|
||||
<ion-item class="item-input item-select">
|
||||
<div class="input-label"><var:string label:value="Language"/></div>
|
||||
<var:popup const:name="language"
|
||||
const:data-ng-model="creds.language"
|
||||
const:ng-model="creds.language"
|
||||
list="languages"
|
||||
item="item"
|
||||
var:value="item"
|
||||
@@ -67,7 +67,7 @@
|
||||
/>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-checkbox data-ng-model="creds.rememberLogin"><var:string label:value="Remember username"/></ion-checkbox>
|
||||
<ion-checkbox ng-model="creds.rememberLogin"><var:string label:value="Remember username"/></ion-checkbox>
|
||||
<p class="padding"><input class="button button-block button-positive" type="submit" label:value="Connect"/></p>
|
||||
</form>
|
||||
</ion-content>
|
||||
|
||||
@@ -12,51 +12,51 @@
|
||||
<!-- left side -->
|
||||
<li>
|
||||
<ul class="aclUsers">
|
||||
<li data-ng-repeat="user in users | orderBy:['userClass', 'displayName']"
|
||||
data-ng-click="selectUser(user)"
|
||||
data-ng-class="{_selected: user==selectedUser}">
|
||||
<span class="card-picture" data-ng-switch="user.userClass">
|
||||
<i data-ng-switch-when="normal-user" class="icon-ion-ios7-person"><!-- normal-user --></i>
|
||||
<i data-ng-switch-when="public-user" class="icon-ion-ios7-people"><!-- public-user --></i>
|
||||
<li ng-repeat="user in users | orderBy:['userClass', 'displayName']"
|
||||
ng-click="selectUser(user)"
|
||||
ng-class="{_selected: user==selectedUser}">
|
||||
<span class="card-picture" ng-switch="user.userClass">
|
||||
<i ng-switch-when="normal-user" class="icon-ion-ios7-person"><!-- normal-user --></i>
|
||||
<i ng-switch-when="public-user" class="icon-ion-ios7-people"><!-- public-user --></i>
|
||||
</span>
|
||||
<span class="name">{{user.$shortFormat()}}</span>
|
||||
<span class="subscriptionArea"
|
||||
data-ng-hide="user.$isSpecial()">
|
||||
ng-hide="user.$isSpecial()">
|
||||
<label>
|
||||
<input type="checkbox"
|
||||
data-ng-model="user.isSubscribed"
|
||||
data-ng-checked="user.isSubscribed"
|
||||
data-ng-disabled="user.wasSubscribed" />
|
||||
ng-model="user.isSubscribed"
|
||||
ng-checked="user.isSubscribed"
|
||||
ng-disabled="user.wasSubscribed" />
|
||||
<span><var:string label:value="Subscribe User"/></span>
|
||||
</label>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
<form class="addContactsToolbar"
|
||||
data-ng-submit="addUser(userToAdd)">
|
||||
ng-submit="addUser(userToAdd)">
|
||||
<table id="bottomTable">
|
||||
<tr>
|
||||
<td id="td_1"><i class="icon-ion-search"><!-- search --></i>
|
||||
<input type="search" class="form-control" label:placeholder="email address"
|
||||
data-ng-model="userToAdd"
|
||||
data-typeahead-editable="false"
|
||||
data-typeahead-wait-ms="500"
|
||||
data-typeahead="user as user.$shortFormat() for user in userFilter($viewValue)"/>
|
||||
ng-model="userToAdd"
|
||||
typeahead-editable="false"
|
||||
typeahead-wait-ms="500"
|
||||
typeahead="user as user.$shortFormat() for user in userFilter($viewValue)"/>
|
||||
</td>
|
||||
<td id="td_2">
|
||||
<button type="submit" ><var:string label:value="Add User" /></button>
|
||||
<button type="button"
|
||||
data-ng-disabled="!selectedUser || selectedUser.$isSpecial()"
|
||||
data-ng-click="removeUser(selectedUser)"><var:string label:value="Remove User"/></button>
|
||||
ng-disabled="!selectedUser || selectedUser.$isSpecial()"
|
||||
ng-click="removeUser(selectedUser)"><var:string label:value="Remove User"/></button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
<!-- right side -->
|
||||
<li id="AccessRightList" data-ng-show="selectedUser">
|
||||
<li id="AccessRightList" ng-show="selectedUser">
|
||||
<h1>{{selectedUser.$shortFormat({email: false})}}</h1>
|
||||
<div data-ng-include="'UIxUserRightsEditor'">
|
||||
<div ng-include="'UIxUserRightsEditor'">
|
||||
<!--
|
||||
Load ng-template #UIxUserRightsEditor from main module wox. Inner wox templates are:
|
||||
- UI/Templates/ContactsUI/UIxContactsUserRightsEditor.wox
|
||||
@@ -67,8 +67,8 @@
|
||||
</ul>
|
||||
</div>
|
||||
<div id="aclButtons">
|
||||
<button data-ng-click="closeModal()"><var:string label:value="Close"/></button>
|
||||
<button data-ng-click="saveModal()"><var:string label:value="Save"/></button>
|
||||
<button ng-click="closeModal()"><var:string label:value="Close"/></button>
|
||||
<button ng-click="saveModal()"><var:string label:value="Save"/></button>
|
||||
</div>
|
||||
<span class="close-reveal-modal" data-ng-click="closeModal()"><i class="icon-close"><!-- close --></i></span>
|
||||
<span class="close-reveal-modal" ng-click="closeModal()"><i class="icon-close"><!-- close --></i></span>
|
||||
</container>
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
</var:if-ie>
|
||||
</head>
|
||||
|
||||
<body var:data-ng-app = "angularModule" var:class = "bodyClasses">
|
||||
<body var:ng-app = "angularModule" var:class = "bodyClasses">
|
||||
<var:if condition = "isCompatibleBrowser">
|
||||
<var:if condition = "singleWindowModeEnabled">
|
||||
<div id = "popupFrame" style = "display: none;">
|
||||
@@ -115,7 +115,7 @@
|
||||
</md-button>
|
||||
</var:if>
|
||||
</var:if>
|
||||
<md-button var:data-ng-href = "relativePreferencesPath">
|
||||
<md-button var:ng-href = "relativePreferencesPath">
|
||||
<var:string label:value = "Preferences" />
|
||||
</md-button>
|
||||
<var:if condition = "isSuperUser">
|
||||
|
||||
Reference in New Issue
Block a user