diff options
author | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2017-10-26 18:31:25 +0200 |
---|---|---|
committer | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2017-11-21 15:55:03 +0100 |
commit | 01d8256338bf5fa8bd3b3bae2b251747299da7a2 (patch) | |
tree | 771091b50a14a403d412da8c5db90db35f3d9db1 | |
parent | 72b9423550f2c7fba116abfa3d8e407a88fedf48 (diff) |
Init addressbook disabling ability
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
-rw-r--r-- | css/_settings.scss | 3 | ||||
-rw-r--r-- | js/components/addressBook/addressBook_controller.js | 10 | ||||
-rw-r--r-- | js/models/addressBook_model.js | 4 | ||||
-rw-r--r-- | templates/addressBook.html | 8 |
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> |