Files
sogo/UI/Templates/Themes/mobile/ContactsUI/UIxContactFoldersView.wox
2014-09-12 09:59:49 -04:00

313 lines
15 KiB
XML

<?xml version='1.0' standalone='yes'?>
<!DOCTYPE var:component>
<var:component
xmlns="http://www.w3.org/1999/xhtml"
xmlns:var="http://www.skyrix.com/od/binding"
xmlns:const="http://www.skyrix.com/od/constant"
xmlns:uix="OGo:uix"
xmlns:label="OGo:label"
xmlns:rsrc="OGo:url"
const:userDefaultsKeys="SOGoContactsCategories"
const:jsFiles="Common/resource.js, Contacts/card-model.js, Contacts/addressbook-model.js"
className="UIxPageFrame"
title="name"
var:popup="isPopup">
<script type="text/javascript">
var contactFolders = <var:string value="contactFolders" const:escapeHTML="NO"/>;
</script>
<body data-ng-app="SOGo.ContactsUI">
<ion-nav-view><!-- main view --></ion-nav-view>
<script type="text/ng-template" id="menu.html">
<ion-side-menus>
<ion-side-menu-content>
<ion-nav-bar class="bar-stable nav-title-slide-ios7">
<ion-nav-back-button class="button-clear"><i class="icon ion-ios7-arrow-back"><!-- back --></i> Back</ion-nav-back-button>
</ion-nav-bar>
<ion-nav-view name="menuContent" animation="slide-left-right"><!-- content --></ion-nav-view>
</ion-side-menu-content>
<ion-side-menu side="left">
<header class="bar bar-header bar-stable">
<h1 class="title">{{UserLogin}}</h1>
</header>
<ion-content class="has-header">
<ion-list>
<ion-item class="nav-clear menu-close" href="#/app/addressbook">
<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>
</ion-content>
</ion-side-menu>
</ion-side-menus>
</script>
<script type="text/ng-template" id="addressbooks.html">
<ion-view title="Address Books">
<ion-nav-buttons side="left">
<button menu-toggle="left" class="button button-icon icon ion-navicon"><!-- menu toggle --></button>
</ion-nav-buttons>
<ion-content class="has-header">
<ion-list>
<ion-item ng-repeat="folder in addressbooks" option-buttons="buttons"
ui-sref="app.addressbook({addressbook_id: folder.id})"
class="item-icon-right">
{{folder.name}}
<i class="icon ion-ios7-arrow-right"><!-- right arrow icon --></i>
<ion-option-button class="button-info"
ng-click="edit(item)"><var:string label:value="Edit"/></ion-option-button>
</ion-item>
</ion-list>
</ion-content>
</ion-view>
</script>
<script type="text/ng-template" id="addressbook.html">
<ion-view title="{{addressbook.name}}">
<ion-nav-buttons side="right">
<a class="button button-clear button-positive button-icon icon ion-ios7-plus-empty" ui-sref="app.newCard({ addressbook_id: addressbook.id, contact_type: 'card' })"><!-- new --></a>
</ion-nav-buttons>
<ion-content class="has-header">
<ion-list>
<ion-item class="item-input">
<i class="icon ion-search placeholder-icon"><!-- search --></i>
<input type="text"
placeholder="Search"
data-ng-model="search.filter"
data-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({addressbook_id: addressbook.id, card_id: card.c_name})">
{{card.c_cn || card.c_mail}}
<i class="icon ion-ios7-arrow-right"><!-- right arrow icon --></i>
</ion-item>
</ion-list>
</ion-content>
</ion-view>
</script>
<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>
</ion-nav-buttons>
<ion-content padding="10" class="has-header">
<h4 data-ng-bind-html="addressbook.card.$fullname()"><!-- fullname --></h4>
<p>
{{addressbook.card.$description()}}
<span class="label" data-ng-repeat="category in addressbook.card.categories">{{category.value}}</span>
</p>
<ion-list class="list-clear" data-ng-show="addressbook.card.birthday">
<ion-item class="item-icon-right">
<i class="icon ion-calendar"><!-- icon --></i>
<small><var:string label:value="Birthday"/></small> {{addressbook.card.$birthday() | date}}
</ion-item>
</ion-list>
<ion-list class="list-clear" data-ng-show="addressbook.card.refs.length > 0">
<ion-item ng-repeat="ref in addressbook.card.refs"
href="{{UserFolderURL}}Mail/Compose/{{ref.email}}"
class="item-icon-right">
<i class="icon ion-person"><!-- icon --></i>
{{ref.fn || ref.email}}
</ion-item>
</ion-list>
<ion-list class="list-clear" data-ng-show="addressbook.card.emails">
<ion-item ng-repeat="email in addressbook.card.emails"
href="{{UserFolderURL}}Mail/Compose/{{email.value}}"
class="item-icon-right">
<i class="icon ion-email"><!-- icon --></i>
<small>{{email.type}}</small> {{email.value}}
</ion-item>
</ion-list>
<ion-list class="list-clear" data-ng-show="addressbook.card.phones">
<ion-item ng-repeat="phone in addressbook.card.phones"
href="tel:{{phone.value}}"
class="item-icon-right">
<i class="icon ion-ios7-telephone-outline"><!-- icon --></i>
<small>{{phone.type}}</small> {{phone.value}}
</ion-item>
</ion-list>
<ion-list class="list-clear" data-ng-show="addressbook.card.urls">
<ion-item ng-repeat="url in addressbook.card.urls"
href="{{url.value}}"
class="item-icon-right">
<i class="icon ion-link"><!-- icon --></i>
<small>{{url.type}}</small> {{url.value}}
</ion-item>
</ion-list>
<ion-list class="list-clear" data-ng-show="addressbook.card.addresses">
<ion-item class="item-icon-right" ng-repeat="address in addressbook.card.addresses">
<i class="icon ion-location"><!-- icon --></i>
<small>{{address.type}}</small>
<address data-sg-address="address"><!-- address --></address>
</ion-item>
</ion-list>
<ion-list class="list-clear" data-ng-show="addressbook.card.note">
<ion-item>
<small><var:string label:value="note"/></small>
{{addressbook.card.note}}
</ion-item>
</ion-list>
</ion-content>
</ion-view>
</script>
<script type="text/ng-template" id="cardEditor.html">
<ion-modal-view>
<form name="cardForm" data-ng-show="addressbook.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>
</ion-header-bar>
<ion-content padding="10">
<ion-list class="list-clear">
<ion-item class="item-input">
<input type="text" label:placeholder="Display" ng-model="addressbook.card.fn"/>
</ion-item>
<ion-item class="item-input">
<input type="text" label:placeholder="Givenname" ng-model="addressbook.card.givenname"/>
</ion-item>
<ion-item class="item-input">
<input type="text" label:placeholder="Lastname" ng-model="addressbook.card.sn"/>
</ion-item>
<ion-item class="item-input">
<input type="text" label:placeholder="Nickname" ng-model="addressbook.card.nickname"/>
</ion-item>
<ion-item class="item-input">
<input type="text" label:placeholder="Organization" ng-model="addressbook.card.org"/>
</ion-item>
<ion-item class="item-input">
<input type="text" label:placeholder="Title" ng-model="addressbook.card.title"/>
</ion-item>
</ion-list>
<ion-list class="list-clear">
<ion-item ng-repeat="unit in addressbook.card.orgUnits"
class="item-input">
<button class="button button-small button-assertive button-icon icon ion-minus-circled" data-ng-click="addressbook.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>
</ion-item>
</ion-list>
<ion-list class="list-clear">
<ion-item class="item-input">
<input type="date" label:placeholder="birthday"
ng-model="birthday"/>
</ion-item>
</ion-list>
<ion-list class="list-clear">
<ion-item ng-repeat="category in addressbook.card.categories"
class="item-input">
<button class="button button-small button-assertive button-icon icon ion-minus-circled" data-ng-click="addressbook.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>
</ion-item>
</ion-list>
<ion-list class="list-clear">
<ion-item ng-repeat="email in addressbook.card.emails"
class="item-input item-select">
<button class="button button-small button-assertive button-icon icon ion-minus-circled" data-ng-click="addressbook.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>
</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>
</ion-item>
</ion-list>
<ion-list class="list-clear">
<ion-item ng-repeat="phone in addressbook.card.phones"
class="item-input item-select">
<button class="button button-small button-assertive button-icon icon ion-minus-circled" data-ng-click="addressbook.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>
</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>
</ion-item>
</ion-list>
<ion-list class="list-clear">
<ion-item ng-repeat="url in addressbook.card.urls"
class="item-input item-select">
<button class="button button-small button-assertive button-icon icon ion-minus-circled"
data-ng-click="addressbook.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>
</ion-item>
<ion-item>
<button class="button button-small button-clear button-positive" data-ng-click="addUrl()">
<i class="icon ion-plus-circled"><!-- add --></i> <var:string label:value="Add URL"/>
</button>
</ion-item>
</ion-list>
<ion-list class="list-clear"
ng-repeat="address in addressbook.card.addresses">
<ion-item class="item-input">
<button class="button button-small button-assertive button-icon icon ion-minus-circled"
data-ng-click="addressbook.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"/>
</ion-item>
<ion-item class="item-input">
<input type="text" label:placeholder="street" data-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>
</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"/>
</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"/>
</ion-item>
</ion-list>
</ion-item>
<ion-item>
<button class="button button-small button-clear button-positive" data-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="addressbook.card.note"/>
</ion-item>
</ion-list>
<button class="button button-block button-assertive"
ng-hide="addressbook.card.isNew"
ng-click="confirmDelete(addressbook.card)"><var:string label:value="Delete"/></button>
</ion-content>
</form>
</ion-modal-view>
</script>
</body>
</var:component>