mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-06-23 19:04:18 +00:00
Replace valueless attributes by classes
This commit is contained in:
committed by
Francis Lachapelle
parent
3054c04261
commit
6651b02ba2
@@ -1,349 +1,347 @@
|
||||
<?xml version='1.0' standalone='yes'?>
|
||||
<container xmlns = "http://www.w3.org/1999/xhtml" xmlns:var = "http://www.skyrix.com/od/binding" xmlns:const = "http://www.skyrix.com/od/constant" xmlns:label = "OGo:label">
|
||||
<container xmlns="http://www.w3.org/1999/xhtml" xmlns:var="http://www.skyrix.com/od/binding" xmlns:const="http://www.skyrix.com/od/constant" xmlns:label="OGo:label">
|
||||
|
||||
<md-content md-scroll-y = "true">
|
||||
<div class = "editor md-padding" style="padding-bottom: 72px">
|
||||
<hgroup class = "header">
|
||||
<h1 data-ng-bind-html = "card.$fullname()"><!-- fullname --></h1>
|
||||
<md-content md-scroll-y="true">
|
||||
<div class="editor md-padding" style="padding-bottom: 72px">
|
||||
<hgroup class="header">
|
||||
<h1 data-ng-bind-html="card.$fullname()"><!-- fullname --></h1>
|
||||
<h6>{{card.$description()}}
|
||||
<span class = "label radius" data-ng-repeat = "category in card.categories">{{category.value}}</span>
|
||||
<span class="label radius" data-ng-repeat="category in card.categories">{{category.value}}</span>
|
||||
</h6>
|
||||
</hgroup>
|
||||
|
||||
<form name = "cardForm" data-ng-show = "card.$isCard()" data-ng-submit = "save(cardForm)">
|
||||
|
||||
<md-input-container>
|
||||
<var:entity const:name = "nbsp" />
|
||||
<label>
|
||||
<var:string label:value = "Display" />
|
||||
</label>
|
||||
<input type = "text" ng-maxlength = "30" data-ng-model = "card.fn" />
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<div class = "action">
|
||||
<var:entity const:name = "nbsp" />
|
||||
</div>
|
||||
<label class = "">
|
||||
<var:string label:value = "Firstname" />
|
||||
</label>
|
||||
<input type = "text" data-ng-model = "card.givenname" />
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<div class = "action">
|
||||
<var:entity const:name = "nbsp" />
|
||||
</div>
|
||||
<label class = "right inline">
|
||||
<var:string label:value = "Lastname" />
|
||||
</label>
|
||||
<input type = "text" data-ng-model = "card.sn" />
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<div class = "action">
|
||||
<var:entity const:name = "nbsp" />
|
||||
</div>
|
||||
<label class = "right inline">
|
||||
<var:string label:value = "Nickname" />
|
||||
</label>
|
||||
<input type = "text" data-ng-model = "card.nickname" />
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<div class = "action">
|
||||
<var:entity const:name = "nbsp" />
|
||||
</div>
|
||||
<label class = "right inline">
|
||||
<var:string label:value = "Organization" />
|
||||
</label>
|
||||
<input type = "text" data-ng-model = "card.org" />
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<div class = "action">
|
||||
<var:entity const:name = "nbsp" />
|
||||
</div>
|
||||
<label class = "right inline">
|
||||
<var:string label:value = "Title" />
|
||||
</label>
|
||||
<input type = "text" data-ng-model = "card.title" />
|
||||
</md-input-container>
|
||||
|
||||
<!-- org units -->
|
||||
|
||||
<fieldset class = "section">
|
||||
<div class = "attr" data-ng-repeat = "unit in card.orgUnits">
|
||||
<div class = "action">
|
||||
<span class = "button alert icon" data-ng-click = "card.$delete('orgUnits', $index)">
|
||||
<i class = "icon-minus"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
<form name="cardForm" data-ng-show="card.$isCard()" data-ng-submit="save(cardForm)">
|
||||
<md-input-container>
|
||||
<div class = "key">
|
||||
<label class = "right inline">
|
||||
<var:string label:value = "Organization Unit" />
|
||||
<var:entity const:name="nbsp" />
|
||||
<label>
|
||||
<var:string label:value="Display" />
|
||||
</label>
|
||||
<input type="text" ng-maxlength="30" data-ng-model="card.fn" />
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<div class="action">
|
||||
<var:entity const:name="nbsp" />
|
||||
</div>
|
||||
<label class="">
|
||||
<var:string label:value="Firstname" />
|
||||
</label>
|
||||
<input type="text" data-ng-model="card.givenname" />
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<div class="action">
|
||||
<var:entity const:name="nbsp" />
|
||||
</div>
|
||||
<label class="right inline">
|
||||
<var:string label:value="Lastname" />
|
||||
</label>
|
||||
<input type="text" data-ng-model="card.sn" />
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<div class="action">
|
||||
<var:entity const:name="nbsp" />
|
||||
</div>
|
||||
<label class="right inline">
|
||||
<var:string label:value="Nickname" />
|
||||
</label>
|
||||
<input type="text" data-ng-model="card.nickname" />
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<div class="action">
|
||||
<var:entity const:name="nbsp" />
|
||||
</div>
|
||||
<label class="right inline">
|
||||
<var:string label:value="Organization" />
|
||||
</label>
|
||||
<input type="text" data-ng-model="card.org" />
|
||||
</md-input-container>
|
||||
<md-input-container>
|
||||
<div class="action">
|
||||
<var:entity const:name="nbsp" />
|
||||
</div>
|
||||
<label class="right inline">
|
||||
<var:string label:value="Title" />
|
||||
</label>
|
||||
<input type="text" data-ng-model="card.title" />
|
||||
</md-input-container>
|
||||
|
||||
<!-- org units -->
|
||||
|
||||
<fieldset class="section">
|
||||
<div class="attr" data-ng-repeat="unit in card.orgUnits">
|
||||
<div class="action">
|
||||
<span class="button alert icon" data-ng-click="card.$delete('orgUnits', $index)">
|
||||
<i class="icon-minus"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
<md-input-container>
|
||||
<div class="key">
|
||||
<label class="right inline">
|
||||
<var:string label:value="Organization Unit" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="value">
|
||||
<input type="text" label:placeholder="unit" data-ng-model="unit.value" data-sg-focus-on="orgUnit_{{$index}}" />
|
||||
</div>
|
||||
</md-input-container>
|
||||
</div>
|
||||
<div class="attr">
|
||||
<div class="value single">
|
||||
<span class="button secondary outline tiny" data-ng-click="addOrgUnit()">
|
||||
<i class="icon-plus"><!-- new --></i>
|
||||
<var:string label:value="Add Organizational Unit" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<!-- birthday -->
|
||||
<div class="attr">
|
||||
<div class="action">
|
||||
<var:entity const:name="nbsp" />
|
||||
</div>
|
||||
<div class="key">
|
||||
<label class="right inline">
|
||||
<var:string label:value="Birthday" />
|
||||
</label>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<input type = "text" label:placeholder = "unit" data-ng-model = "unit.value" data-sg-focus-on = "orgUnit_{{$index}}" />
|
||||
<div class="value">
|
||||
<input type="text" data-ng-model="card.birthday" />
|
||||
</div>
|
||||
</md-input-container>
|
||||
</div>
|
||||
<div class = "attr">
|
||||
<div class = "value single">
|
||||
<span class = "button secondary outline tiny" data-ng-click = "addOrgUnit()">
|
||||
<i class = "icon-plus"><!-- new --></i>
|
||||
<var:string label:value = "Add Organizational Unit" />
|
||||
</div>
|
||||
<!-- categories -->
|
||||
<div class="section">
|
||||
<div class="attr" data-ng-repeat="category in card.categories">
|
||||
<div class="action">
|
||||
<span class="button alert icon" data-ng-click="card.$delete('categories', $index)">
|
||||
<i class="icon-minus"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="key">
|
||||
<label class="right inline">
|
||||
<var:string label:value="Category" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="value">
|
||||
<input type="text" label:placeholder="category" data-ng-model="category.value" data-sg-focus-on="category_{{$index}}" data-typeahead="cat for cat in card.allCategories | filter:$viewValue" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="attr">
|
||||
<div class="value single">
|
||||
<span class="button secondary outline tiny" data-ng-click="addCategory()">
|
||||
<i class="icon-plus"><!-- new --></i>
|
||||
<var:string label:value="New Category" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- emails -->
|
||||
<div class="section">
|
||||
<div class="attr" data-ng-repeat="email in card.emails">
|
||||
<div class="action">
|
||||
<span class="button alert icon" data-ng-click="card.$delete('emails', $index)">
|
||||
<i class="icon-minus"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="key">
|
||||
<select class="text-right" data-ng-model="email.type" data-ng-options="type for type in allEmailTypes">
|
||||
<!-- email types -->
|
||||
</select>
|
||||
</div>
|
||||
<div class="value">
|
||||
<input type="email" label:placeholder="email address" data-ng-model="email.value" data-sg-focus-on="email_{{$index}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="attr">
|
||||
<div class="value single">
|
||||
<span class="button secondary outline tiny" data-ng-click="addEmail()">
|
||||
<i class="icon-plus"><!-- new --></i>
|
||||
<var:string label:value="New Email Address" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- phones -->
|
||||
<div class="section">
|
||||
<div class="attr" data-ng-repeat="phone in card.phones">
|
||||
<div class="action">
|
||||
<span class="button alert icon" data-ng-click="card.$delete('phones', $index)">
|
||||
<i class="icon-minus"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="key">
|
||||
<select class="text-right" data-ng-model="phone.type" data-ng-options="type for type in allTelTypes">
|
||||
<!-- phone types -->
|
||||
</select>
|
||||
</div>
|
||||
<div class="value">
|
||||
<input type="text" label:placeholder="phone number" data-ng-model="phone.value" data-sg-focus-on="phone_{{$index}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="attr">
|
||||
<div class="value single">
|
||||
<span class="button secondary outline tiny" data-ng-click="addPhone()">
|
||||
<i class="icon-plus"><!-- new --></i>
|
||||
<var:string label:value="New Phone Number" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- urls -->
|
||||
<div class="section">
|
||||
<div class="attr" data-ng-repeat="url in card.urls">
|
||||
<div class="action">
|
||||
<span class="button alert icon" data-ng-click="card.$delete('urls', $index)">
|
||||
<i class="icon-minus"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="key">
|
||||
<select class="text-right" data-ng-model="url.type" data-ng-options="type for type in allUrlTypes">
|
||||
<!-- url types -->
|
||||
</select>
|
||||
</div>
|
||||
<div class="value">
|
||||
<input type="url" label:placeholder="URL" data-ng-model="url.value" data-sg-focus-on="url_{{$index}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="attr">
|
||||
<div class="value single">
|
||||
<span class="button secondary outline tiny" data-ng-click="addUrl()">
|
||||
<i class="icon-plus"><!-- new --></i>
|
||||
<var:string label:value="New URL" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- addresses -->
|
||||
<div class="section">
|
||||
<div class="attr" data-ng-repeat="address in card.addresses">
|
||||
<div class="action">
|
||||
<span class="button alert icon" data-ng-click="card.$delete('addresses', $index)">
|
||||
<i class="icon-minus"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="key">
|
||||
<select class="text-right" data-ng-model="address.type" data-ng-options="type for type in allAddressTypes">
|
||||
<!-- address types -->
|
||||
</select>
|
||||
</div>
|
||||
<div class="value compact">
|
||||
<input type="text" label:placeholder="street" data-ng-model="address.street" data-sg-focus-on="address_{{$index}}" />
|
||||
<input type="text" data-ng-model="address.street2" />
|
||||
<input type="text" label:placeholder="Postoffice" data-ng-model="address.postoffice" />
|
||||
<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="Country" data-ng-model="address.country" />
|
||||
<input type="text" label:placeholder="Postal Code" data-ng-model="address.postalcode" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="attr">
|
||||
<div class="value single">
|
||||
<span class="button secondary outline tiny" data-ng-click="addAddress()">
|
||||
<i class="icon-plus"><!-- new --></i>
|
||||
<var:string label:value="New Address" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- note -->
|
||||
<div class="attr">
|
||||
<div class="action">
|
||||
<var:entity const:name="nbsp" />
|
||||
</div>
|
||||
<div class="key">
|
||||
<label class="right inline">
|
||||
<var:string label:value="Note" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="value">
|
||||
<textarea data-ng-model="card.note"><!-- note --></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<fieldset class="sg-buttongroup">
|
||||
<span class="button tiny radius secondary" data-ng-click="cancel()">
|
||||
<i class="icon-arrow-left"><!-- cancel --></i>
|
||||
<var:string label:value="Cancel" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<!-- birthday -->
|
||||
<div class = "attr">
|
||||
<div class = "action">
|
||||
<var:entity const:name = "nbsp" />
|
||||
</div>
|
||||
<div class = "key">
|
||||
<label class = "right inline">
|
||||
<var:string label:value = "Birthday" />
|
||||
</label>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<input type = "text" data-ng-model = "card.birthday" />
|
||||
</div>
|
||||
</div>
|
||||
<!-- categories -->
|
||||
<div class = "section">
|
||||
<div class = "attr" data-ng-repeat = "category in card.categories">
|
||||
<div class = "action">
|
||||
<span class = "button alert icon" data-ng-click = "card.$delete('categories', $index)">
|
||||
<i class = "icon-minus"><!-- remove --></i>
|
||||
<span class="button tiny radius secondary" data-ng-click="reset()">
|
||||
<i class="icon-undo"><!-- reset --></i>
|
||||
<var:string label:value="Reset" />
|
||||
</span>
|
||||
</div>
|
||||
<div class = "key">
|
||||
<label class = "right inline">
|
||||
<var:string label:value = "Category" />
|
||||
</label>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<input type = "text" label:placeholder = "category" data-ng-model = "category.value" data-sg-focus-on = "category_{{$index}}" data-typeahead = "cat for cat in card.allCategories | filter:$viewValue" />
|
||||
</div>
|
||||
</div>
|
||||
<div class = "attr">
|
||||
<div class = "value single">
|
||||
<span class = "button secondary outline tiny" data-ng-click = "addCategory()">
|
||||
<i class = "icon-plus"><!-- new --></i>
|
||||
<var:string label:value = "New Category" />
|
||||
<md-button class="button tiny radius" type="submit">
|
||||
<i class="icon-checkmark"><!-- save --></i>
|
||||
<var:string label:value="Save" />
|
||||
</md-button>
|
||||
</fieldset>
|
||||
</form>
|
||||
<form name="listForm" data-ng-show="card.$isList()" data-ng-submit="save(listForm)">
|
||||
<div class="buttonsToolbar">
|
||||
<span class="button tiny radius secondary" data-ng-click="cancel()">
|
||||
<i class="icon-arrow-left"><!-- cancel --></i>
|
||||
<var:string label:value="Cancel" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- emails -->
|
||||
<div class = "section">
|
||||
<div class = "attr" data-ng-repeat = "email in card.emails">
|
||||
<div class = "action">
|
||||
<span class = "button alert icon" data-ng-click = "card.$delete('emails', $index)">
|
||||
<i class = "icon-minus"><!-- remove --></i>
|
||||
<span class="button tiny radius secondary" data-ng-click="reset()">
|
||||
<i class="icon-undo"><!-- reset --></i>
|
||||
<var:string label:value="Reset" />
|
||||
</span>
|
||||
<button class="button tiny radius" type="submit">
|
||||
<i class="icon-checkmark"><!-- save --></i>
|
||||
<var:string label:value="Save" />
|
||||
</button>
|
||||
</div>
|
||||
<div class = "key">
|
||||
<select class = "text-right" data-ng-model = "email.type" data-ng-options = "type for type in allEmailTypes">
|
||||
<!-- email types -->
|
||||
</select>
|
||||
<div class="section">
|
||||
<div class="attr">
|
||||
<div class="action">
|
||||
<var:entity const:name="nbsp" />
|
||||
</div>
|
||||
<div class="key">
|
||||
<label class="right inline">
|
||||
<var:string label:value="Display" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="value">
|
||||
<input type="text" data-ng-model="card.fn" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="attr">
|
||||
<div class="action">
|
||||
<var:entity const:name="nbsp" />
|
||||
</div>
|
||||
<div class="key">
|
||||
<label class="right inline">
|
||||
<var:string label:value="Nickname" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="value">
|
||||
<input type="text" data-ng-model="card.nickname" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<input type = "email" label:placeholder = "email address" data-ng-model = "email.value" data-sg-focus-on = "email_{{$index}}" />
|
||||
<!-- list members -->
|
||||
<div class="section">
|
||||
<div class="attr" data-ng-repeat="ref in card.refs">
|
||||
<div class="action">
|
||||
<span class="button alert icon" data-ng-click="card.$delete('refs', $index)">
|
||||
<i class="icon-minus"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="key">
|
||||
<label class="right inline">
|
||||
<var:string label:value="Member" />
|
||||
</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)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="attr">
|
||||
<div class="value single">
|
||||
<span class="button outline secondary tiny" data-ng-click="addMember()">
|
||||
<i class="icon-plus"><!-- new --></i>
|
||||
<var:string label:value="Add Member" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class = "attr">
|
||||
<div class = "value single">
|
||||
<span class = "button secondary outline tiny" data-ng-click = "addEmail()">
|
||||
<i class = "icon-plus"><!-- new --></i>
|
||||
<var:string label:value = "New Email Address" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- phones -->
|
||||
<div class = "section">
|
||||
<div class = "attr" data-ng-repeat = "phone in card.phones">
|
||||
<div class = "action">
|
||||
<span class = "button alert icon" data-ng-click = "card.$delete('phones', $index)">
|
||||
<i class = "icon-minus"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class = "key">
|
||||
<select class = "text-right" data-ng-model = "phone.type" data-ng-options = "type for type in allTelTypes">
|
||||
<!-- phone types -->
|
||||
</select>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<input type = "text" label:placeholder = "phone number" data-ng-model = "phone.value" data-sg-focus-on = "phone_{{$index}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class = "attr">
|
||||
<div class = "value single">
|
||||
<span class = "button secondary outline tiny" data-ng-click = "addPhone()">
|
||||
<i class = "icon-plus"><!-- new --></i>
|
||||
<var:string label:value = "New Phone Number" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- urls -->
|
||||
<div class = "section">
|
||||
<div class = "attr" data-ng-repeat = "url in card.urls">
|
||||
<div class = "action">
|
||||
<span class = "button alert icon" data-ng-click = "card.$delete('urls', $index)">
|
||||
<i class = "icon-minus"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class = "key">
|
||||
<select class = "text-right" data-ng-model = "url.type" data-ng-options = "type for type in allUrlTypes">
|
||||
<!-- url types -->
|
||||
</select>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<input type = "url" label:placeholder = "URL" data-ng-model = "url.value" data-sg-focus-on = "url_{{$index}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class = "attr">
|
||||
<div class = "value single">
|
||||
<span class = "button secondary outline tiny" data-ng-click = "addUrl()">
|
||||
<i class = "icon-plus"><!-- new --></i>
|
||||
<var:string label:value = "New URL" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- addresses -->
|
||||
<div class = "section">
|
||||
<div class = "attr" data-ng-repeat = "address in card.addresses">
|
||||
<div class = "action">
|
||||
<span class = "button alert icon" data-ng-click = "card.$delete('addresses', $index)">
|
||||
<i class = "icon-minus"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class = "key">
|
||||
<select class = "text-right" data-ng-model = "address.type" data-ng-options = "type for type in allAddressTypes">
|
||||
<!-- address types -->
|
||||
</select>
|
||||
</div>
|
||||
<div class = "value compact">
|
||||
<input type = "text" label:placeholder = "street" data-ng-model = "address.street" data-sg-focus-on = "address_{{$index}}" />
|
||||
<input type = "text" data-ng-model = "address.street2" />
|
||||
<input type = "text" label:placeholder = "Postoffice" data-ng-model = "address.postoffice" />
|
||||
<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 = "Country" data-ng-model = "address.country" />
|
||||
<input type = "text" label:placeholder = "Postal Code" data-ng-model = "address.postalcode" />
|
||||
</div>
|
||||
</div>
|
||||
<div class = "attr">
|
||||
<div class = "value single">
|
||||
<span class = "button secondary outline tiny" data-ng-click = "addAddress()">
|
||||
<i class = "icon-plus"><!-- new --></i>
|
||||
<var:string label:value = "New Address" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- note -->
|
||||
<div class = "attr">
|
||||
<div class = "action">
|
||||
<var:entity const:name = "nbsp" />
|
||||
</div>
|
||||
<div class = "key">
|
||||
<label class = "right inline">
|
||||
<var:string label:value = "Note" />
|
||||
</label>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<textarea data-ng-model = "card.note"><!-- note --></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<fieldset class = "sg-buttongroup">
|
||||
<span class = "button tiny radius secondary" data-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()">
|
||||
<i class = "icon-undo"><!-- reset --></i>
|
||||
<var:string label:value = "Reset" />
|
||||
</span>
|
||||
<md-button class = "button tiny radius" type = "submit">
|
||||
<i class = "icon-checkmark"><!-- save --></i>
|
||||
<var:string label:value = "Save" />
|
||||
</md-button>
|
||||
</fieldset>
|
||||
</form>
|
||||
<form name = "listForm" data-ng-show = "card.$isList()" data-ng-submit = "save(listForm)">
|
||||
<div class = "buttonsToolbar">
|
||||
<span class = "button tiny radius secondary" data-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()">
|
||||
<i class = "icon-undo"><!-- reset --></i>
|
||||
<var:string label:value = "Reset" />
|
||||
</span>
|
||||
<button class = "button tiny radius" type = "submit">
|
||||
<i class = "icon-checkmark"><!-- save --></i>
|
||||
<var:string label:value = "Save" />
|
||||
</button>
|
||||
</div>
|
||||
<div class = "section">
|
||||
<div class = "attr">
|
||||
<div class = "action">
|
||||
<var:entity const:name = "nbsp" />
|
||||
</div>
|
||||
<div class = "key">
|
||||
<label class = "right inline">
|
||||
<var:string label:value = "Display" />
|
||||
</label>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<input type = "text" data-ng-model = "card.fn" />
|
||||
</div>
|
||||
</div>
|
||||
<div class = "attr">
|
||||
<div class = "action">
|
||||
<var:entity const:name = "nbsp" />
|
||||
</div>
|
||||
<div class = "key">
|
||||
<label class = "right inline">
|
||||
<var:string label:value = "Nickname" />
|
||||
</label>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<input type = "text" data-ng-model = "card.nickname" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- list members -->
|
||||
<div class = "section">
|
||||
<div class = "attr" data-ng-repeat = "ref in card.refs">
|
||||
<div class = "action">
|
||||
<span class = "button alert icon" data-ng-click = "card.$delete('refs', $index)">
|
||||
<i class = "icon-minus"><!-- remove --></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class = "key">
|
||||
<label class = "right inline">
|
||||
<var:string label:value = "Member" />
|
||||
</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)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class = "attr">
|
||||
<div class = "value single">
|
||||
<span class = "button outline secondary tiny" data-ng-click = "addMember()">
|
||||
<i class = "icon-plus"><!-- new --></i>
|
||||
<var:string label:value = "Add Member" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
</div>
|
||||
</md-content>
|
||||
|
||||
</container>
|
||||
</container>
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
Templates script tag wrappers goes next
|
||||
-->
|
||||
<!-- fixme : consitently prefix attributes with or without data prefix-->
|
||||
<main class="view" data-ui-view = "addressbooks" layout="row" layout-fill="layout-fill"><!-- addressbooks list --></main>
|
||||
<main class="view md-layout-fill" data-ui-view="addressbooks" layout="row"><!-- addressbooks list --></main>
|
||||
|
||||
<!-- TEMPLATE SCRIPT WRAPPER -->
|
||||
<script type = "text/ng-template" id = "UIxContactFoldersView">
|
||||
@@ -152,11 +152,8 @@
|
||||
<span class = "md-flex">{{activeUser.identification}}</span>
|
||||
</h2>
|
||||
</md-toolbar>
|
||||
<md-content md-scroll-y = "md-scroll-y" class = "md-padding" ng-controller = "LeftCtrl" flex="flex">
|
||||
<md-button ng-click = "close()" class = "md-primary" hide-gt-md = "hide-gt-md">Close</md-button>
|
||||
<!--<div class="newItemsToolbar">
|
||||
<a class="button tiny radius split" data-ui-sref="addressbook.new({addressbookId: addressbook.id, contactType: 'card'})"><var:string label:value="New Card"/><span data-dropdown-toggle="#newListDrop"></span></a><br/>
|
||||
</div>-->
|
||||
<md-content md-scroll-y="md-scroll-y" class="md-padding md-flex" ng-controller="LeftCtrl">
|
||||
<md-button ng-click="close()" class="md-primary md-hide-gt-md">Close</md-button>
|
||||
<md-list>
|
||||
<md-item ng-repeat = "folder in addressbooks track by folder.id"
|
||||
ng-class = "{_selected: addressbook.id==folder.id}"
|
||||
@@ -188,33 +185,27 @@
|
||||
</md-item-content>
|
||||
</md-item>
|
||||
</md-list>
|
||||
<!--<div class="buttonsToolbar">
|
||||
<button data-ng-click="newAddressbook()" class="button" label:title="New Addressbook..."><i class="icon-plus">!- new -></i></button>
|
||||
<a href="#" class="button" label:title="Subscribe to an Addressbook..."
|
||||
data-sg-dropdown-content-toggle="#folderSubscribe"><i class="icon-earth">!- subscribe -</i></a>
|
||||
</div>-->
|
||||
</md-content>
|
||||
</md-sidenav>
|
||||
|
||||
<main layout = "column" layout-fill = "layout-fill">
|
||||
<md-toolbar layout = "row" layout-align = "space-between start" class = "md-tall">
|
||||
<!--fixme : md-toolbar-tools height is inconsistently defined, in former version it was 64px (basic toolbar height), here it's 100% -->
|
||||
<div class = "md-toolbar-tools" ng-controller = "toggleCtrl">
|
||||
<span flex = "flex">
|
||||
<md-button ng-click = "toggleLeft()" class = "md-primary" hide-gt-md = "hide-gt-md">
|
||||
<span class = "icon-ic_menu_24px"></span>
|
||||
</md-button>
|
||||
<div class = "display-1" style = "font-size: 2em; font-weight: 300">
|
||||
[[Contacts]]
|
||||
</div>
|
||||
</span>
|
||||
<span class = "sd-toolbar-tools">
|
||||
<span>search</span>
|
||||
</span>
|
||||
</div>
|
||||
</md-toolbar>
|
||||
<md-content layout = "row" flex = "flex">
|
||||
<md-content md-scroll-y = "md-scroll-y" flex = "flex" style = "min-width: 300px;" id = "contactsList">
|
||||
<md-toolbar layout="row" layout-align="space-between start" class="md-tall">
|
||||
<div class="md-toolbar-tools" ng-controller="toggleCtrl">
|
||||
<span flex="flex">
|
||||
<md-button ng-click="toggleLeft()" class="md-primary" hide-gt-md="hide-gt-md">
|
||||
<span class="icon-ic_menu_24px"></span>
|
||||
</md-button>
|
||||
<div class="display-1" style="font-size: 2em; font-weight: 300">
|
||||
[[Contacts]]
|
||||
</div>
|
||||
</span>
|
||||
<span class="sd-toolbar-tools">
|
||||
<span>search</span>
|
||||
</span>
|
||||
</div>
|
||||
</md-toolbar>
|
||||
<md-content layout="row" class="md-flex">
|
||||
<md-content md-scroll-y = "md-scroll-y" class = "md-flex" style = "min-width: 300px;" id = "contactsList">
|
||||
<!-- 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">
|
||||
@@ -255,7 +246,7 @@
|
||||
</md-item>
|
||||
</md-list>
|
||||
</md-content>
|
||||
<md-content class = "md-padding" flex = "flex" data-ui-view = "card"><!-- card view --></md-content>
|
||||
<md-content class = "md-padding md-flex" data-ui-view = "card"><!-- card view --></md-content>
|
||||
</md-content>
|
||||
</main>
|
||||
|
||||
|
||||
@@ -5,97 +5,97 @@
|
||||
xmlns:const = "http://www.skyrix.com/od/constant"
|
||||
xmlns:label = "OGo:label"
|
||||
>
|
||||
<div class = "viewer">
|
||||
<div class = "header">
|
||||
<h1 data-ng-bind-html = "card.$fullname()"><!-- fullname --></h1>
|
||||
<div class="viewer">
|
||||
<div class="header">
|
||||
<h1 data-ng-bind-html="card.$fullname()"><!-- fullname --></h1>
|
||||
<h6>{{card.$description()}}
|
||||
<span class = "label radius" data-ng-repeat = "category in card.categories">{{category.value}}</span>
|
||||
<span class="label radius" data-ng-repeat="category in card.categories">{{category.value}}</span>
|
||||
</h6>
|
||||
</div>
|
||||
<div class = "buttonsToolbar">
|
||||
<span data-ng-show = "addressbook.isEditable">
|
||||
<a class = "button tiny radius" data-ui-sref = "addressbook.card.editor({addressbookId: addressbook.id, cardId: card.id})">
|
||||
<i class = "icon-pencil"><!-- edit --></i>
|
||||
<div class="buttonsToolbar">
|
||||
<span data-ng-show="addressbook.isEditable">
|
||||
<a class="button tiny radius" data-ui-sref="addressbook.card.editor({addressbookId: addressbook.id, cardId: card.id})">
|
||||
<i class="icon-pencil"><!-- edit --></i>
|
||||
</a>
|
||||
<span class = "button tiny radius alert" data-ng-click = "confirmDelete(card)">
|
||||
<i class = "icon-trash"><!-- delete --></i>
|
||||
<span class="button tiny radius alert" data-ng-click="confirmDelete(card)">
|
||||
<i class="icon-trash"><!-- delete --></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class = "attr" data-ng-show = "card.birthday">
|
||||
<div class = "key">
|
||||
<label class = "right">
|
||||
<var:string label:value = "Birthday" />
|
||||
<div class="attr" data-ng-show="card.birthday">
|
||||
<div class="key">
|
||||
<label class="right">
|
||||
<var:string label:value="Birthday" />
|
||||
</label>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<div class="value">
|
||||
<span>{{card.$birthday() | date}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class = "section" data-ng-repeat = "ref in card.refs track by ref.reference">
|
||||
<div class="section" data-ng-repeat="ref in card.refs track by ref.reference">
|
||||
<!-- list members -->
|
||||
<div class = "attr">
|
||||
<div class = "value single">
|
||||
<a data-ui-sref = "addressbook.card.view({addressbookId: addressbook.id, cardId: ref.reference})">{{ref.$fullname()}}</a>
|
||||
<div data-ng-show = "ref.email">
|
||||
<a href = "mailto:{{ref.email}}">
|
||||
<i class = "icon-ion-ios7-email-outline"><!-- email --></i>
|
||||
<div class="attr">
|
||||
<div class="value single">
|
||||
<a data-ui-sref="addressbook.card.view({addressbookId: addressbook.id, cardId: ref.reference})">{{ref.$fullname()}}</a>
|
||||
<div data-ng-show="ref.email">
|
||||
<a href="mailto:{{ref.email}}">
|
||||
<i class="icon-ion-ios7-email-outline"><!-- email --></i>
|
||||
{{ref.email}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class = "section" data-ng-show = "card.emails.length > 0">
|
||||
<div class = "attr" data-ng-repeat = "email in card.emails">
|
||||
<div class = "key">
|
||||
<label class = "right"><var:entity const:name = "nbsp" />{{email.type}}
|
||||
<div class="section" data-ng-show="card.emails.length > 0">
|
||||
<div class="attr" data-ng-repeat="email in card.emails">
|
||||
<div class="key">
|
||||
<label class="right"><var:entity const:name="nbsp" />{{email.type}}
|
||||
</label>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<a href = "mailto:{{email.value}}">{{email.value}}</a>
|
||||
<div class="value">
|
||||
<a href="mailto:{{email.value}}">{{email.value}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class = "section" data-ng-show = "card.phones.length > 0">
|
||||
<div class = "attr" data-ng-repeat = "phone in card.phones">
|
||||
<div class = "key">
|
||||
<label class = "right">{{phone.type}}</label>
|
||||
<div class="section" data-ng-show="card.phones.length > 0">
|
||||
<div class="attr" data-ng-repeat="phone in card.phones">
|
||||
<div class="key">
|
||||
<label class="right">{{phone.type}}</label>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<a href = "tel:{{phone.value}}">{{phone.value}}</a>
|
||||
<div class="value">
|
||||
<a href="tel:{{phone.value}}">{{phone.value}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class = "section" data-ng-show = "card.urls">
|
||||
<div class = "attr" data-ng-repeat = "url in card.urls">
|
||||
<div class = "key">
|
||||
<label class = "right"><var:entity const:name = "nbsp" />{{url.type}}
|
||||
<div class="section" data-ng-show="card.urls">
|
||||
<div class="attr" data-ng-repeat="url in card.urls">
|
||||
<div class="key">
|
||||
<label class="right"><var:entity const:name="nbsp" />{{url.type}}
|
||||
</label>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<a href = "#" data-ng-href = "{{url.value}}">{{url.value}}</a>
|
||||
<div class="value">
|
||||
<a href="#" data-ng-href="{{url.value}}">{{url.value}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class = "section" data-ng-show = "card.addresses">
|
||||
<div class = "attr" data-ng-repeat = "address in card.addresses">
|
||||
<div class = "key">
|
||||
<label class = "right">{{address.type}}</label>
|
||||
<div class="section" data-ng-show="card.addresses">
|
||||
<div class="attr" data-ng-repeat="address in card.addresses">
|
||||
<div class="key">
|
||||
<label class="right">{{address.type}}</label>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<div data-sg-address = "address"><!-- address --></div>
|
||||
<div class="value">
|
||||
<div data-sg-address="address"><!-- address --></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class = "attr" data-ng-show = "card.note">
|
||||
<div class = "key">
|
||||
<label class = "right">
|
||||
<var:string label:value = "Note" />
|
||||
<div class="attr" data-ng-show="card.note">
|
||||
<div class="key">
|
||||
<label class="right">
|
||||
<var:string label:value="Note" />
|
||||
</label>
|
||||
</div>
|
||||
<div class = "value">
|
||||
<div data-ng-bind-html = "card.note"><!-- note --></div>
|
||||
<div class="value">
|
||||
<div data-ng-bind-html="card.note"><!-- note --></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -227,12 +227,12 @@
|
||||
|
||||
Templates script tag wrappers goes next
|
||||
-->
|
||||
<main class="view" ui-view="mailboxes" layout="row" layout-fill="layout-fill"><!-- mailboxes list --></main>
|
||||
<main class="view md-layout-fill" ui-view="mailboxes" layout="row"><!-- mailboxes list --></main>
|
||||
|
||||
<!-- TEMPLATE SCRIPT WRAPPER -->
|
||||
<script type = "text/ng-template" id = "UIxMailMainFrame">
|
||||
<!-- 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" data-dropdown-content="dropdown-content">
|
||||
<ul class = "button-group">
|
||||
<li data-ng-show = "currentFolder.isEditable">
|
||||
<span class = "button" data-ng-click = "editFolder(currentFolder)">
|
||||
@@ -263,55 +263,47 @@
|
||||
</div>
|
||||
|
||||
<!-- Sidenav -->
|
||||
<md-sidenav class = "md-sidenav-left md-whiteframe-z1" md-component-id = "left"
|
||||
md-is-locked-open = "$media('gt-md')" layout = "column">
|
||||
<md-toolbar class = "md-tall" layout-align = "end start">
|
||||
<h2 class = "md-toolbar-tools md-toolbar-tools-bottom">
|
||||
<span class = "md-flex">{{activeUser.identification}}</span>
|
||||
<md-sidenav class="md-sidenav-left md-whiteframe-z1" md-component-id="left" md-is-locked-open="$media('gt-md')" layout="column">
|
||||
<md-toolbar class="md-tall" layout-align="end start">
|
||||
<h2 class="md-toolbar-tools md-toolbar-tools-bottom">
|
||||
<span class="md-flex">{{activeUser.identification}}</span>
|
||||
</h2>
|
||||
</md-toolbar>
|
||||
<md-content md-scroll-y = "md-scroll-y" class = "md-padding" ng-controller = "LeftCtrl" flex="flex">
|
||||
<md-button ng-click = "close()" class = "md-primary" hide-gt-md = "hide-gt-md">Close</md-button>
|
||||
<md-list ng-repeat = "account in accounts track by account.id">
|
||||
<md-content md-scroll-y="md-scroll-y" class="md-flex md-padding" ng-controller="LeftCtrl">
|
||||
<md-button ng-click="close()" class="md-primary md-hide-gt-md">Close</md-button>
|
||||
<md-list ng-repeat="account in accounts track by account.id">
|
||||
<md-item>
|
||||
<md-item-content>
|
||||
<div class = "md-tile-content">
|
||||
<div class="md-tile-content">
|
||||
<md-button>
|
||||
<h3>{{account.name}}</h3>
|
||||
</md-button>
|
||||
</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 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>
|
||||
</md-list>
|
||||
</md-content>
|
||||
</md-sidenav>
|
||||
|
||||
<!--<div class="newItemsToolbar">
|
||||
<a class="button tiny radius split" data-ui-sref="mail.newMessage()"><var:string label:value="Compose"/><span data-dropdown-toggle="#draftsDrop"></span></a><br/>
|
||||
</div>-->
|
||||
<!-- Main section -->
|
||||
<section layout = "column" layout-fill = "layout-fill">
|
||||
<md-toolbar layout = "row" layout-align = "space-between start" class = "md-tall md-grey">
|
||||
<!--fixme : md-toolbar-tools height is inconsistently defined, in former version it was 64px (basic toolbar height), here it's 100% -->
|
||||
<div class = "md-toolbar-tools" ng-controller = "toggleCtrl">
|
||||
<span flex = "flex">
|
||||
<md-button ng-click = "toggleLeft()" class = "md-primary" hide-gt-md = "hide-gt-md">
|
||||
<span class = "icon-ic_menu_24px"></span>
|
||||
<section layout="column" layout-fill="layout-fill">
|
||||
<md-toolbar layout="row" layout-align="space-between start" class="md-tall">
|
||||
<div class="md-toolbar-tools" ng-controller="toggleCtrl">
|
||||
<span class="md-flex">
|
||||
<md-button ng-click="toggleLeft()" class="md-primary md-hide-gt-md">
|
||||
<span class="icon-ic_menu_24px"></span>
|
||||
</md-button>
|
||||
<div class = "display-1" style = "font-size: 2em; font-weight: 300">
|
||||
<div class="display-1" style="font-size: 2em; font-weight: 300">
|
||||
[[Calendar]]
|
||||
</div>
|
||||
</span>
|
||||
<span class = "sd-toolbar-tools">
|
||||
<span class="sd-toolbar-tools">
|
||||
<span>search</span>
|
||||
</span>
|
||||
</div>
|
||||
</md-toolbar>
|
||||
<md-content layout = "row" flex = "flex" ui-view = "mailbox"><!-- messages list --></md-content>
|
||||
<md-content layout="row" class="md-flex" ui-view="mailbox"><!-- messages list --></md-content>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
<var:component-content />
|
||||
|
||||
<!-- BOTTOM-BAR -->
|
||||
<md-toolbar class = "sg-bottombar" layout = "row" layout-align = "center center" hide-sm="hide-sm"> <!--todo : transform show/hide attributes to classes. Adjust body padding accordingly to bottombar visibility (in media query) -->
|
||||
<md-toolbar class="sg-bottombar md-hide-sm" layout="row" layout-align="center center">
|
||||
<var:if condition = "userHasCalendarAccess">
|
||||
<var:if condition = "isCalendar">
|
||||
<md-button ng-disabled = "true">
|
||||
|
||||
@@ -10,6 +10,6 @@ layout-padding,
|
||||
layout-margin,
|
||||
layout-wrap,
|
||||
layout-fill,
|
||||
flex, flex-sm, flex-gt-sm, flex-md, flex-gt-md, flex-lg, flex-gt-lg, hide, hide-sm, hide-gt-sm, hide-md, hide-gt-md, hide-lg, hide-gt-lg, show, show-sm, show-gt-sm, show-md, show-gt-md, show-lg, show-gt-lg;
|
||||
flex, flex-sm, flex-gt-sm, flex-md, flex-gt-md, flex-lg, flex-gt-lg, hide, hide-sm, hide-gt-sm, hide-md, hide-gt-md, hide-lg, hide-gt-lg, show, show-sm, show-gt-sm, show-md, show-gt-md, show-lg, show-gt-lg;
|
||||
|
||||
@include attributesToClasses($selectors);
|
||||
|
||||
Reference in New Issue
Block a user