summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--css/_settings.scss3
-rw-r--r--js/components/addressBook/addressBook_controller.js10
-rw-r--r--js/models/addressBook_model.js4
-rw-r--r--templates/addressBook.html8
4 files changed, 23 insertions, 2 deletions
diff --git a/css/_settings.scss b/css/_settings.scss
index d461db90..4a75f8b2 100644
--- a/css/_settings.scss
+++ b/css/_settings.scss
@@ -103,6 +103,9 @@ ul.addressBookList li[addressbook] > span.addressBookName {
white-space: nowrap;
text-overflow: ellipsis;
padding-left: 7px;
+ &.disabled {
+ opacity: 0.3;
+ }
}
ul.addressBookList li[addressbook] > .addressBookShares {
diff --git a/js/components/addressBook/addressBook_controller.js b/js/components/addressBook/addressBook_controller.js
index c06ea2e3..73b010f0 100644
--- a/js/components/addressBook/addressBook_controller.js
+++ b/js/components/addressBook/addressBook_controller.js
@@ -12,10 +12,13 @@ angular.module('contactsApp')
shareInputPlaceHolder: t('contacts', 'Share with users or groups'),
delete: t('contacts', 'Delete'),
canEdit: t('contacts', 'can edit'),
- close: t('contacts', 'Close')
+ close: t('contacts', 'Close'),
+ enabled: t('contacts', 'Enabled'),
+ disabled: t('contacts', 'Disabled')
};
ctrl.editing = false;
+ ctrl.enabled = ctrl.addressBook.enabled;
ctrl.tooltipIsOpen = false;
ctrl.tooltipTitle = ctrl.t.clickToCopy;
@@ -189,4 +192,9 @@ angular.module('contactsApp')
});
};
+ ctrl.toggleState = function() {
+ window.localStorage.setItem('ctrl.key', !ctrl.enabled);
+ ctrl.enabled = !ctrl.enabled;
+ };
+
});
diff --git a/js/models/addressBook_model.js b/js/models/addressBook_model.js
index 1be20c7e..de58e8ca 100644
--- a/js/models/addressBook_model.js
+++ b/js/models/addressBook_model.js
@@ -8,6 +8,10 @@ angular.module('contactsApp')
contacts: [],
groups: data.data.props.groups,
readOnly: data.data.props.readOnly === '1',
+ // use only owner and url, convert ''/remote.php/dav/addressbooks/users/admin/Test1/'' to 'admin.Test'
+ key: data.data.href.split('/').splice(-3, 2).join('.'),
+ enabled: window.localStorage.getItem(this.key) !== false,
+
sharedWith: {
users: [],
groups: []
diff --git a/templates/addressBook.html b/templates/addressBook.html
index 8886131c..f885e0e7 100644
--- a/templates/addressBook.html
+++ b/templates/addressBook.html
@@ -2,7 +2,7 @@
<input select-expression="ctrl.editing" placeholder="{{ctrl.t.addressBookName}}" class="renameAddressBookInput" ng-model="ctrl.addressBook.displayName" type="text" />
<input type="submit" value="" class="renameAddressBookSubmit inline-button icon-confirm action pull-right" />
</form>
-<span class="addressBookName" title="{{ctrl.addressBook.displayName}}" ng-hide="ctrl.editing">{{ctrl.addressBook.displayName}}</span>
+<span class="addressBookName" ng-class="{disabled: !ctrl.enabled}" onloadedmetadata=""title="{{ctrl.addressBook.displayName}}" ng-hide="ctrl.editing">{{ctrl.addressBook.displayName}}</span>
<span class="utils" ng-hide="ctrl.editing">
<span class="action">
<span
@@ -43,6 +43,12 @@
<span>{{ctrl.t.renameAddressbook}}</span>
</a>
</li>
+ <li>
+ <a ng-click="ctrl.toggleState()">
+ <input id="state_{{$id}}" type="checkbox" class="checkbox" ng-checked="ctrl.enabled" />
+ <label for="state_{{$id}}">{{ctrl.enabled ? ctrl.t.enabled : ctrl.t.disabled}}</span>
+ </a>
+ </li>
<li ng-if="ctrl.list.length > 1">
<a ng-click="ctrl.deleteAddressBook()">
<span class="icon icon-delete"></span>