123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- /**
- * Created by robin on 11/6/15.
- */
-
-
- angular.module('luticateUtils')
- .directive('luPickerTable', ['dialogs', 'luticateDialogErrorHelper',
- function(dialogs, luticateDialogErrorHelper) {
- return {
- restrict: 'E',
- scope: {
- options: '&'
- },
- templateUrl: "views/lupickertable.html",//"/luticate/lupickertable.html",
- link: function ($scope, element, attrs) {
-
- $scope.pickerOptions = $scope.options();
- $scope.pickerOptions.luPickerTableScope = $scope;
- $scope.pickerOptions.pickedItems = [];
-
- var onItemClicked = $scope.pickerOptions.onItemClicked;
- $scope.pickerOptions.onItemClicked = function(item)
- {
- if (onItemClicked != null) {
- onItemClicked(item);
- }
- $scope.pickerOptions.luBasicTableScope.toggleCheckedItem(item);
- };
- var onItemChecked = $scope.pickerOptions.onItemChecked;
- $scope.pickerOptions.onItemChecked = function(item, checked)
- {
- if (onItemChecked != null) {
- onItemChecked(item, checked);
- }
-
- var id = $scope.pickerOptions.getItemId(item);
- var it = $scope.pickerOptions.pickedItems.find(function(item)
- {
- return $scope.pickerOptions.getItemId(item) == id;
- });
- var idx = $scope.pickerOptions.pickedItems.indexOf(it);
- if (idx > -1) {
- if (!checked) {
- $scope.pickerOptions.pickedItems.splice(idx, 1);
- }
- }
- else {
- if (checked) {
- $scope.pickerOptions.pickedItems.push(item);
- }
- }
- };
- var onPageChanged = $scope.pickerOptions.onPageChanged;
- $scope.pickerOptions.onPageChanged = function()
- {
- if (onPageChanged != null) {
- onPageChanged();
- }
-
- for (var i = 0; i < $scope.pickerOptions.pickedItems.length; ++i) {
- var ii = $scope.pickerOptions.pickedItems[i];
- var iiId = $scope.pickerOptions.getItemId(ii);
- for (var j = 0; j < $scope.pickerOptions.luBasicTableScope.items.Data.length; ++j) {
- var ij = $scope.pickerOptions.luBasicTableScope.items.Data[j];
- if (iiId == $scope.pickerOptions.getItemId(ij)) {
- $scope.pickerOptions.checkedItems.push(iiId);
- }
- }
- }
- };
- $scope.pickerOptions.canCheck = function()
- {
- return true;
- };
- $scope.pickerOptions.canClick = function()
- {
- return true;
- };
- }
- };
- }
- ]);
-
- angular.module('luticateUtils').run(['$templateCache', function($templateCache)
- {
- $templateCache.put('/luticate/lupickertable.html', '');
- }]);
|