diff options
-rw-r--r-- | js/components/propertyGroup/propertyGroup_controller.js | 5 | ||||
-rw-r--r-- | js/components/propertyGroup/propertyGroup_directive.js | 13 | ||||
-rw-r--r-- | templates/contactDetails.html | 6 | ||||
-rw-r--r-- | templates/propertyGroup.html | 14 |
4 files changed, 34 insertions, 4 deletions
diff --git a/js/components/propertyGroup/propertyGroup_controller.js b/js/components/propertyGroup/propertyGroup_controller.js new file mode 100644 index 00000000..def2d05c --- /dev/null +++ b/js/components/propertyGroup/propertyGroup_controller.js @@ -0,0 +1,5 @@ +angular.module('contactsApp') +.controller('propertyGroupCtrl', function() { + // eslint-disable-next-line no-unused-vars + var ctrl = this; +}); diff --git a/js/components/propertyGroup/propertyGroup_directive.js b/js/components/propertyGroup/propertyGroup_directive.js new file mode 100644 index 00000000..29d52871 --- /dev/null +++ b/js/components/propertyGroup/propertyGroup_directive.js @@ -0,0 +1,13 @@ +angular.module('contactsApp') +.directive('propertygroup', function() { + return { + scope: {}, + controller: 'propertyGroupCtrl', + controllerAs: 'ctrl', + bindToController: { + properties: '=data', + name: '=' + }, + templateUrl: OC.linkTo('contacts', 'templates/propertyGroup.html') + }; +}); diff --git a/templates/contactDetails.html b/templates/contactDetails.html index 92131b92..a0462755 100644 --- a/templates/contactDetails.html +++ b/templates/contactDetails.html @@ -42,10 +42,8 @@ </div> </header> <section> - <div ng-repeat="prop in ctrl.contact.props | toArray | orderDetailItems:'$key'"> - <detailsItem ng-repeat="propData in prop" name="prop.$key" data="propData" model="ctrl" index="$index" - class="details-item-{{prop.$key}}" ng-class="{ 'failed': ctrl.contact.failedProps.indexOf(prop.$key) !== -1 }"></detailsItem> - </div> + <propertyGroup ng-repeat="prop in ctrl.contact.props | toArray | orderDetailItems:'$key'" data="prop" name="prop.$key"></propertyGroup> + <div class="select-addressbook" ng-if="ctrl.addressBooks.length > 1 && !ctrl.addressBook.readOnly"> <label for="details-addressbook">{{ctrl.t.addressBook}}</label> <select ng-model="ctrl.addressBook" ng-change="ctrl.changeAddressBook(ctrl.addressBook)" id="details-addressbook" diff --git a/templates/propertyGroup.html b/templates/propertyGroup.html new file mode 100644 index 00000000..4c928035 --- /dev/null +++ b/templates/propertyGroup.html @@ -0,0 +1,14 @@ +<i class="propertyGroup__icon">🍕</i> +<span class="propertyGroup__title">{{ctrl.name}}</span> +<detailsItem ng-repeat="property in ctrl.properties" name="ctrl.name" data="property" model="ctrl" index="$index" + class="details-item-{{ctrl.name}}" ng-class="{ 'failed': ctrl.contact.failedProps.indexOf(prop.$key) !== -1 }"></detailsItem> +<!--<adetailsItem ng-repeat="property in [1,2]" class="property"> + <div class="property__label">Home</div> + <div class="component"> + <input type="text" placeholder="comp1" /> + </div> + <div class="component"> + <input type="text" placeholder="comp2" /> + </div> +</adetailsItem> +--> |